有以下代码:
Map<String, Object> map = new HashMap<>();
map = getJsonMap(name);
if(map.containsKey(findName)){
...
}
问题:map.containsKey(findName)出现了空指针异常。
原因:findName是否为空是不会引起空指针异常的,所以很大的可能是map为空。
分析代码:map首先初始化后再赋值,这里严重的不严谨,因为如果getJsonMap(name)返回为null时,这个时候,map初始化就无效了,所以这里顺序需要调换一下。
修改代码如下:
Map<String, Object> map = getJsonMap(name);
if(map == null) {
map = new HashMap<>();
}
if(map.containsKey(findName)){
...
}