由map.containsKey()空指针异常,发现的代码不规范问题

有以下代码:

       Map map = new HashMap<>();
       map = getJsonMap(name);
       if(map.containsKey(findName)){
           ...
       }

问题:map.containsKey(findName)出现了空指针异常。

原因:findName是否为空是不会引起空指针异常的,所以很大的可能是map为空。

分析代码:map首先初始化后再赋值,这里严重的不严谨,因为如果getJsonMap(name)返回为null时,这个时候,map初始化就无效了,所以这里顺序需要调换一下。

修改代码如下:

       Map map = getJsonMap(name);
       if(map == null) {
           map = new HashMap<>();
       }
       if(map.containsKey(findName)){
           ...
       }

 

你可能感兴趣的:(java)