为了账号安全,请及时绑定邮箱和手机立即绑定

使用泛型后,用迭代器遍历集合元素的问题

看了其他两个类似问题的回答,觉得不满意。在导包正确的前提下,使用迭代器遍历集合元素可以如下图所示:http://img1.sycdn.imooc.com//5a080f740001169307740384.jpg

但是也可以如下:

Iterator<Course> it = courses.iterator();
    while(it.hasNext()){
	Course c = it.next();
	System.out.println(c.id + ":" + c.name);
    }

个人一开始觉得it.next()返回的就是Course对象,也就是集合中的元素,其类型肯定是Course类型了,所以为何还要在图里面进行类型转换?

第二种是看到了其他提问里想到的,原来迭代器还可以指定类型,就像集合的泛型似的,那么接下来就不用类型转换了。也许这里缺少的是迭代器的知识。

正在回答

1 回答

http://img1.sycdn.imooc.com//5a0815470001a1c406300218.jpg

在未类型转换时,报错是:Type mismatch: cannot convert from Object to Course。看来迭代器返回的是Object类型,就好像放入集合中的元素被转变成(是转变)Object类型一样。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

使用泛型后,用迭代器遍历集合元素的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信