黑马程序员技术交流社区

标题: ArrayList集合迭代的问题 [打印本页]

作者: hbk000    时间: 2015-4-8 22:30
标题: ArrayList集合迭代的问题
代码如下:
ArrayList list = new ArrayList();
list.add("AA");
list.add("BB");
Iterator it = list.iterator();
while(it.hasNext()) {
      Object obj = it.next();
       System.out.println(obj.toString());
}
输出结果为AA  BB
it.next()返回类型是Object,在调用toString方法输出的结果不应该是哈希值吗?为什么输出的是字符串?

作者: lwj123    时间: 2015-4-8 22:34
这是多态的效果
Object 接受String类型
之后调用toString实际上是调用的是String中的toString方法
所以不会打印出Object的toString的效果
作者: hbk000    时间: 2015-4-8 22:47
lwj123 发表于 2015-4-8 22:34
这是多态的效果
Object 接受String类型
之后调用toString实际上是调用的是String中的toString方法

版主就是厉害,一语中的!
作者: 怀念子龙    时间: 2015-4-9 08:43
多态啊。String类的toString方法又不是打印哈希值
作者: minliang    时间: 2015-4-9 09:44
版主厉害,正解。
作者: 奔放的龙小胖    时间: 2015-4-9 11:02
String类toString()方法本来就不是打印哈希码值的吧....




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