我有这个结构
TreeMap<String,Map<String,String>> map;
我想删除由键找到的Map内的一个键值对。 我尝试过:
map.get(key).remove(key2);
但是它抛出NullPointerException。 要找到我尝试过的问题:
Map<String,String> aux = map.get(key);
aux.remove(key2);
,发现map.get仅返回null。
有解决方案吗? 预先谢谢你!
答案 0 :(得分:0)
您可以检查外部映射中是否存在外键(在这种情况下为key
),只有在第二个get
正确的情况下才调用它。
Map<String,String> outerKey = map.get(key);
if(outerKey != null) {
outerKey.remove(key2)
}
您得到NullPointerException
是因为外部映射中不存在键key
(或映射为null值),所以map.get(key)
返回null。