我在打印选定的地图值时遇到的问题是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