java.lang.NullPointerException应该可以说是日常开发中最常见的投掷错误之一。 常见的问题是,在引用某个对象时,因为
那么,总结一下常见错误的原因和解决方案。
确定字符串equals是否相等的示例:
字符串id=null; 可以在前面写一个类似id.equals('1' )的常量
“1”. equals (id ) {}
其他字符串方法还包括contains ()等。
如果对象为空,则获取值的示例。 把student拿来的话就直接用
String name=student.getName ()在实际代码中并不明显,但这种错误的常见之处在于:
提供接口时,获取对方发送的值时,不进行空操作直接获取值; 请求上游接口时返回空,未确定空操作的包类直接转换为布尔型,而不确定,并且在生产中出现了由于三用途布尔型未确定而导致的数据丢失问题。
有问题的代码:
//s是来自上游的实体类,而flag是布尔型。 其中,获取flag是否为true,如果为true则为1,否则代码. string type=s.getflag ('1' : '0' )在获取时返回
字符串类型=null!=s.getFlag () s.getFlag )? '1':'0'; 另外,Integer做出等于的判断时,也必须用空判定进行操作。
对象的直接toString (方法通常是在实体类中toString ) )方法,然后在日志中调用toString ) )方法。
但是,如果对象为空,则清空指针。
使用静态String.valueOf方法,可以在不抛出异常的情况下打印' null '。
JSON.toJSONString (也可以使用方法。
字符串中没有以下初始化值:
String str=' '; 可以通过apache.lang3中的StringUtils.isNotBlank ()进行判断。
接口类型的对象未在特定类中初始化。
List lt; List lt=new ArrayList (不会弄错的集合类像不进行空操作就带来的List一样使用。 那样的话,就会被错扔了。 解决办法如下。
通过CollectionUtils.isEmpty ()判断空处理。
其他建议:
java.lang.NullPointerException出现的几个原因及解决
Java.lang.nullpointerexception -如何处理空指针异常