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

為了賬號安全,請及時綁定郵箱和手機立即綁定

這里的students.get(ID).name可以替換成st.name嗎?為啥?

Student?st=students.get(ID);
????if(st==null){
	/**
	*?提示輸入學生姓名,并創建對象保存學生的ID和姓名,
	*?將其添加到集合students中
	?*/
	System.out.println("請輸入學生姓名:");
	String?name=?input.next();
????????//創建新的學生對象
	Student?newStudent=new?Student(ID,name);
????????//通過調用students的put方法,添加ID-學生映射關系
	students.put(ID,?newStudent);
	System.out.println("成功添加學生:"+students.get(ID).name);


正在回答

2 回答

既然知道了,求采納

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

我的想法是:get(ID)返回的那個value值是Student類型的對象st,而Student的構造器中也規定了參數name,那就應該可以使用st.name來調用啊,但是為啥編譯器提示錯誤了呢?

0 回復 有任何疑惑可以回復我~
#1

沒有夢想的咸魚 提問者

懂了。。原來是因為剛剛的那個st是添加之前的對象,這樣的話st.name肯定是會報錯的,因為st==null;解決方法是:在輸出函數前重新調用一下Map的get方法就行了;例如加上一句:Student st2= students.get(ID);這樣就ok了@-@
2017-02-18 回復 有任何疑惑可以回復我~
#2

嗨嘍嗨嘍 回復 沒有夢想的咸魚 提問者

為什么是因為st==null就會報錯??
2017-07-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這里的students.get(ID).name可以替換成st.name嗎?為啥?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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