解决方案 »

  1.   

    public static void main(String[] args)
    {
    List <int []> list = new ArrayList<int []>();
    int [] a = new int [] {1, 2, 9};
    list.add(a);

    int [] b = list.get(0);
    for (int i:b)
    System.out.println(i);
    }
      

  2.   

    a就是数组的引用(数值上等于数组内存空间首地址),然后list.add(a)那集合中存的元素当然就是数组首地址。要查看所有数组元素,需要根据该地址查看相应的内存空间。
      

  3.   

    i:b是下面这个的简写for (int i=0; i<b.length; ++i)
    {
        System.out.println(i);
    }你比我还懒,,基础书都不看直接上代码 哈哈哈
      

  4.   

    7楼的意思是不是打印对象是要调用toString()方法?我上面已经重写了toString()但是输出来的还是地址啊?
      

  5.   

    打印对象不是调用toString()吗,toString()我已经重写过了,可是打印出来的还是地址。
      

  6.   


    System.out.println(list);打印List 集合类型,会调用list.toString()方法。在这过程中首先打印一个 "[" ,然后便利list里面的各个元素,调用各个元素的toString()方法,最后在打印一个 “]”
    不是你想的那样,要不你试下int[] a = new int[]{2,4,9};System.out.println(a);
    这两句话,就比你写的那个少了【】。出现地址的原因是,你打印一个数组(不是集合),就是打印数组的首地址,因为数组没有重写toString方法,就像你自己写的一个类,没写toString方法,打印出来也是这个对象的地址
      

  7.   

    你打印的不是list里面的元素,而是储存这个list的内存地址