参考ArrayList的toString方法,ArrayList的toString方法默认遍历list,打印每一个Object的信息。

解决方案 »

  1.   

    四重循环输出即可取出一个Shiyan对象
      

  2.   

    1. Shiyan 这个类没有重写 toString() 方法,默认打出来就是那一堆东西。
    2. 不需要 mycars 这个中间变量,直接 Arrays.asList(details1, details2); 就行了。details 也拼错了,拼成 datails。
      

  3.   

    list代表的是对象的引用,也就是所指的对象的地址,并不是地址里面的值,你肯定输出的是地址呀
      

  4.   

    list1是对象引用,打印出来的当然是引用的地址了
      

  5.   


    1楼回复是正解。顺便补充下,对象toString()后打印对是内存地址。
      

  6.   

    感觉楼上好多人乱说,归根结底,只要没有重写 toString,任何非基本类型的对象都会打印地址。对于 Java 用,System.out.print/println 方法打印任何对象,打印的都是调用的 toString()。不管是显示调用 toString() 还是不写直接进行输出或使用加号连接时,都会隐式调用 toString()。作为系统类,List 的 toString 是遍历每个对象元素,也进行输出打印,属于隐式调用 toString()。所以只要重写了该对象的 toString() 方法就能正确打出来,而不是地址。