java.lang.NullPointerException
代码:
Map<String, Object> params = null; params.get("earliestTime");报错:
因为params 为null,所以调用params.get(“earliestTime”)就会报错
对params 和params.get(“earliestTime”)进行非空判断
Map<String, Object> params = null; if (params !=null){ if (params.get("earliestTime") !=null){ System.out.println(params.get("earliestTime")); } }注意:非空判断必须一级一级判断,例如:
Map<String, Object> params = null; if (params.get("earliestTime") !=null){ System.out.println(params.get("earliestTime")); }依然会报错,因为没有预先对params 进行非空判断
而
Map<String, Object> params = null; if (params !=null){ System.out.println(params.get("earliestTime")); }也会报错,因为因为没有对params.get(“earliestTime”)进行非空判断
一般使用if(xxx != null)就可以了
Map<String, Object> params = null; if (params !=null){ }但是对于String类型的变量要使用StringUtils.isNotBlank(xxx)方法进行非空判断
String a = "a"; if (StringUtils.isNotBlank(a){ }因为使用 != 对String类型的变量比较的是变量的地址值而不是变量本身的值,String类型的变量比较本身的值需要使用equals()方法进行比较,而且StringUtils.isNotBlank(xxx)等效于!xxx.equals(null) && earliestTime != “”
