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

今天我在看结合迭代器Iterator的时候,为什么next()方法用确定的对象接收和直接用object接收有什么区别

今天我在看结合迭代器Iterator的时候,为什么next()方法用确定的对象接收和直接用object接收有什么区别

Mr_CuriosityOH 2017-03-16 15:00:18
Iterator it = c.iterator();while(it.hasNext()){    Student stu = (Student) it.next();    System.out.println(stu);}或Iterator it = c.iterator();while(it.hasNext()){   Object obj =it.next();   System.out.println(obj);}
查看完整描述

3 回答

已采纳
?
四无小青年

TA贡献88条经验 获得超43个赞

如果你不转成Student类型,那么这个变量就不能使用Student类的方法和变量,只能使用Object 提供的方法。

比如Student 中有一个getName()方法,如果你不把它转成Student 你就不能使用getName()。

若解惑,望采纳

查看完整回答
1 反对 回复 2017-03-16
?
程序员大阳

TA贡献43条经验 获得超24个赞

it.next()返回的都是Object,都是用Object接收的吧。

只不过Student stu = (Student) it.next();是在你确定it遍历的c中的对象都是Student类型的情况下,强制转换把Object类型的it.netx()转换为了Student类型。


查看完整回答
1 反对 回复 2017-03-16
  • 3 回答
  • 0 关注
  • 1644 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信