怎样会产生nullpointException
其本质为:NULL表示该指针不指向任何内存单元。指向了不可使用的内存单元,虚拟机无法读取它的值。
一般会出异常的位置:
- 调用 null 对象的实例方法。
- 访问或修改 null 对象的字段。
- 如果一个数组为null,试图用用其属性,或者取其值的时候
nullpointException的预防
1.用已知非空的字符串调用equals()和equalsIgnoreCase()方法与未知值的字符串进行相比
例如:String a = null ; String b = “hello” ;
如果 a.equals("b") 就会出现空指针异常,若是 b.equals("a"); 则不会出现空指针异常
2.打印对象时当valueOf()和toString()返回相同的结果时,如果对象的的值为null,使用valueOf(),而不用toString(),因为valueOf()方法 不会抛出空指针,儿toString()会抛出空指针
3.使用null安全的方法和库 有很多开源库已经为您做了繁重的空指针检查工作。其中最常用的一个的是Apache commons 中的StringUtils。你可以使用StringUtils.isBlank(),isNumeric(),isWhiteSpace()以及其他的工具方法而不用担心空指针异常。
//StringUtils方法是空指针安全的,他们不会抛出空指针异常
System.out.println(StringUtils.isEmpty(
null)); true
System.out.println(StringUtils.isBlank(
null)); true
System.out.println(StringUtils.isNumeric(
null)); false
System.out.println(StringUtils.isAllUpperCase(
null)); false
借鉴文章链接:https://www.jb51.net/article/123049.htm
暂时就整理到这么些关于空指针重要的内容,希望大家用于在评论处补全,感谢