iterator中的next()为什么要强转?

我查API看到next()返回的类型<E>,这不就是返回对象类型么,怎么在上题中还对it.next()进行person类型强转?求指点!谢谢(能通俗易懂的讲解一下最好)... 我查API看到next()返回的类型<E>,这不就是返回对象类型么,怎么在上题中还对it.next()进行person类型强转?求指点!谢谢(能通俗易懂的讲解一下最好) 展开
 我来答
相知有术
2014-04-22 · TA获得超过311个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:176万
展开全部
因为你的集合和迭代器没有定义泛型,next()默认会返回Object,所以需要强转,两个地方加上泛型就OK,HashSet<Person> hs = new HashSet<Person>();Iterator<Person> it = hs.iterator();

求个采纳。广告:5044群5871自学的进
更多追问追答
追问
没看懂你说的啊,next()默认返回Object,那么强转(Person)it.next();  这个强转的意思不就是强转成Object么?(难道是我理解错了?)  和默认的返回类型一样,那么干嘛还要加这个强转?
追答
默认是object,强转(Person)it.next();是强制转换成Person
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式