这个输出的是list对象的序列号。

解决方案 »

  1.   

    System.out.println(list);
    这个语句会默认调用list.toString()方法,而这个方法是直接从Object类继承而来,Object的这个方法就是输出对象序列号——对象的内部表示。
    要想输出2,,1,,4,5,需要覆盖list的toString方法,再覆盖的方法中,返回list的全部内容。
      

  2.   

    你的原因找到了,看着个:http://blog.csdn.net/cntanghai/article/details/7188296
      

  3.   

    这个原因记得在哪看过,,,如果把他改为 Integer[] 就出现的是 楼主要求的结果,。为什么呢?因为int是基本数据类型,不是Object的子类,而int数组是Object的子类,这里List<int[]>,解析器把  int[] 看成是Object的子类,
    多以它打印的是  [ I@....]的形式,当楼主把int[]改为Integer[]的时候,因为Integer本来就是Object的子类,所以解析器会把Integer[]当成是数组进行处理,而不是当成Object进行处理所以处出现这两种结果。。
      

  4.   

    你的代码是一个集合中装着一个数组!!!!你输出的是这个集合list的堆引用地址!!覆盖list的toString方法太麻烦代码量太多容易混乱!建议新手写个方法去取import java.util.Arrays;
    import java.util.List;public class test {
    public static void main(String[] args) {
    int[] arr={2,4,1,5};
    List<int[]> list=Arrays.asList(arr);
    getValue(list); }
        public static void getValue(List<int[]> list){
         int[] temp;
         //循环取得这个集合里的每个数组元素
         for(int i =0;i<list.size();i++){
         temp=list.get(i);
         System.out.println(i);
         //循环取得这个数组里的每个值
         for(int j =0;j<temp.length;j++){
         System.out.println(temp[j]);
         }
         }
        }
    }