使用泛型后,用迭代器遍历集合元素的问题
看了其他两个类似问题的回答,觉得不满意。在导包正确的前提下,使用迭代器遍历集合元素可以如下图所示:
但是也可以如下:
Iterator<Course> it = courses.iterator(); while(it.hasNext()){ Course c = it.next(); System.out.println(c.id + ":" + c.name); }
个人一开始觉得it.next()返回的就是Course对象,也就是集合中的元素,其类型肯定是Course类型了,所以为何还要在图里面进行类型转换?
第二种是看到了其他提问里想到的,原来迭代器还可以指定类型,就像集合的泛型似的,那么接下来就不用类型转换了。也许这里缺少的是迭代器的知识。