亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

今天我在看結合迭代器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 關注
  • 1695 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號