//通過entrySet方法來遍歷“鍵值”對(duì)
?
?public?void?testEntrySet(){
??Set<Entry<String,Student>>?entrySet=students.entrySet();
??for(Entry<String,Student>?entry:entrySet)
??System.out.println("取得鍵:"+?entry.getKey());
??System.out.println("對(duì)應(yīng)的值:"+?entry.getValue().name);
??
??
?}
?請(qǐng)問為何說呢么獲取key直接用getKey();
?但是獲取value卻要用個(gè)getValue().name???為什么不能直接用getvalue()?
?
?而且,我的下面這行代碼報(bào)錯(cuò)了
?System.out.println("對(duì)應(yīng)的值:"+?entry.getValue().name);
??錯(cuò)誤提示:entry?cannot?be?resolved,我不明白為什么
2017-05-17
// entrySet 遍歷 Map
public void testEntrySet() {
? ?Set<Map.Entry<String,Student>> entrySet = students.entrySet();
? ?for (Map.Entry<String, Student> entry :
? ? ? ? ? ?entrySet) {
? ? ? ?System.out.println("取得鍵:" + entry.getKey());
? ? ? ?System.out.println("對(duì)應(yīng)的值為:" + entry.getValue());
? ?}
}
這段代碼是正確的,可以用getValue()方法來獲取學(xué)生對(duì)象,老師要打印的是獲取的學(xué)生的名字,所以會(huì)用.name。