java list的tostring_Java记录 -45- List的toString方法

在使用集合时,都习惯性的使用循环遍历其中的每个元素。

想知道集合中的每个元素的信息,是不是必须要循环遍历每个元素呢?

比如在打印日志信息时,有些集合如List需要记录下来,一般都使用循环遍历集合,将集合中的每个元素的信息再记录下来,有没有更简便的方法呢?

对象的信息一般都会使用其toString()方法展示,那么集合的toString()方法又会展示什么信息呢?

下面通过一个简单的程序来探索下:public class ArrayListTest2 {

public static void main(String[] args) {

ArrayList list = new ArrayList();

list.add(new Point(1,2));

list.add(new Point(3,4));

for(int i=0;i

System.out.println(list.get(i));

}

System.out.println(list); //打印list等同于打印其toString()方法。

//System.out.println(list.toString());

}

}

class Point{

int x, y;

Point(int x, int y){

this.x = x;

this.y = y;

}

@Override

public String toString() {

return "x=" + x + ", y=" + y;

}

}

当我们不为Point类重写其toString()方法时,我们执行上面的代码,得到的打印结果如下:my.arraylist.Point@c17164

my.arraylist.Point@1fb8ee3

[my.arraylist.Point@c17164, my.arraylist.Point@1fb8ee3]

但是,当我们为Point类重写其toString()方法时,我们又得到了下面的不同的结果:x=1, y=2

x=3, y=4

[x=1, y=2, x=3, y=4]

相信通过上面的比较,我们就可以很明显的知道了List的toString()方法都做了哪些事情:

List的toString()方法调用了其存储的每个元素的toString()方法。

结论:当我们实现了需要记录的对象的toString()方法时,并将它们存放入了集合中时,想要打印记录其信息时,可以直接打印记录该集合即可,集合会将存放的每个元素继续打印记录。


版权声明:本文为weixin_35767900原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。