我在打印選定的地圖值時遇到的問題是NullPointerException
。如果selectedCert列表包含(AA
,BB
,CC
),地圖上會打印:如何在地圖中處理空值
EN
EN
EN
但是,如果selectedCert列表只包含2個是(AA
,BB
),會出現空指針異常,因爲ccLang爲空。
剪斷代碼:
private String ccLang;//Setter and Getter
Map<String, String> Cert = new HashMap<String,String>(ss.size());
Cert.put("AA", "EN");
Cert.put("BB", "EN");
Cert.put("CC", ccLang);
for(String key: selectedCert)
System.out.println(Cert.get(key));
System.out.println();
如何解決這個問題?
在調用「put」之前做空檢查,是你在找什麼R' – kosa 2015-03-30 19:30:35
'NullPointerException'來自哪裏?一個'HashMap'允許有'null'鍵和值。 – 2015-03-30 19:35:02
你可以請驗證你的代碼?你發佈的那個不會被編譯,如果「固定」你不會得到一個NPE,它只會打印null ... – migueldiab 2015-03-30 19:35:43