JAVA中的空指针异常如何处理?
java 中 空指针处理如下
1、尽量别返回 null比如以下代码:
现在 getEmpolyes() 可能返回null ,但是否一定怎么做呢 ? 如果修改getEmpolyes,返回空类表,就能使代码整洁起来。
java 可以通过Collections.emptyList()方法,该方法返回一个预定义不可变列表,可用于这个目的
这样编码,就能尽量避免NullPointerException出现,代码也就更加简洁了。
2、别传递null值在方法中传递null值是最糟糕的做法,但将null值传递给其他方法就更糟糕了,除非API要求你向它传递null值,否则就要尽量可能避免传递null值。
如果有人传入null,我们可以抛出一个NullPointerException异常。
在大多数语言中,没有良好的方法能对付由调用者意外传入的null值,恰当的做法是禁止传入null值。这样,你在编码的时候,就会时时记住参数列表中的null值
意味着出问题了,从而大量避免这种无心之失。
3、Java 8 中的 Optional 处理 nullOptional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。
Optional 类的引入很好的解决空指针异常。
例如: 获取 User 对象里的Address
传统写法:
java8写法:
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有