黑马程序员技术交流社区

标题: 直接打印一个集合Arraylist的引用,为何会打印出的内容是[元素1,,...]呢? [打印本页]

作者: java8023    时间: 2015-6-3 21:40
标题: 直接打印一个集合Arraylist的引用,为何会打印出的内容是[元素1,,...]呢?
这是因为ArrayList 的toString方法重写了。但是这个方法不是在Arraylist中被重写的,而是在其继承类中被重写的,
他继承自Abstracetlist,Abstracetlist继承自AbstractCollection,
AbstractCollection中的tostring()方法为:
返回此 collection 的字符串表示形式。
该字符串表示形式由 collection 元素的列表组成,
这些元素按其迭代器返回的顺序排列,并用方括号 ("[]") 括起来。相邻元素由字符 ", "(逗号加空格)分隔。
通过 String.valueOf(Object) 可以将元素转换成字符串。
覆盖:类 Object 中的 toString
--------------------------------------------------------------------------------

String.valueOf是如何运作的呢
public static String valueOf(Object obj)返回 Object 参数的字符串表示形式。

参数:
obj - 一个 Object。
返回:
如果参数为 null,则字符串等于 "null";否则,返回 obj.toString() 的值。
作者: java8023    时间: 2015-6-5 00:38
这个问题也是很深刻啊,感觉很多人还是不太懂啊
作者: java8023    时间: 2015-6-6 22:20
最近看到了还有map集合的还是如此这个样子
作者: DAN66    时间: 2015-6-6 23:51
学习了
作者: java8023    时间: 2015-6-9 19:12
打印field类型的引用变量也会出现,类似的写法。原理相同。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2