可能出现 null 的情况
当字典中key值不存在时,get查找为null
当字典中key值不存在时,get查找为null. 如果此时需要值去做比较,就可能出现异常。
@Override
public List<OrderMaster> findByBuyerOpenid(String buyerOpenid, Integer pageNum) throws Exception{
List<Map<String,Object>> contents = (List<Map<String,Object>>) paging.getContent(new OrderMaster(),10, 1);
List<OrderMaster> orderMasters = new ArrayList<>();
for(Map<String,Object> content : contents){
if((buyerOpenid).equals((String) content.get("wxorder_buyer_openid"))){
OrderMaster orderMaster = new OrderMaster();
Reflect.transMap2Bean(content, orderMaster);
orderMasters.add(orderMaster);
}
}
return orderMasters;
}
这个例子中,content.get("xxx") 有可能为null。如果换做这样写,就有可能报错:
((String) content.get("wxorder_buyer_openid")).equals(buyerOpenid)
因为 null 没有 equals 方法。所以推荐的方法时,把确定为 String 的放到前面。
网友评论