告别NPE总结

本文分享了7种有效防止Java中NullPointerException(NPE)的方法,包括意识培养、使用Objects工具类、避免自动拆箱陷阱、字符串和集合操作、返回空集合而非null、利用Optional处理可能的null值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 意识:使用 obj.doSomething() 时记得判断 obj != null。意识的养成需要一个漫长的过程,我们可以通过工具来帮忙,IDEA 就是一个非常出色的工具。

2. 判断对象是否相等时,使用 Objects.equals(a, b) ,当然 Objects 工具类还贴心地为我们提供了 toString 和 requireNonNull 这样的好帮手

3. 自动拆箱的陷阱。当使用包装类与原始类型做比对时,要特别注意空指针问题

 

4. 检查字符串是否为空时,使用 commons-lang3 包 StringUtils 提供的isEmpty 和isBlank 方法 。另外, 使用 lowerCase 和 upperCase 进行字符串转换大小写转换,也可以避免空指针

 

5. 使用 commons-collections 包的 CollectionUtils.isEmpty 方法来检查集合是否为空

 

6. 返回集合的接口若需要返回空,则返回空集而不是 null。但是每次都 new 出新的集合,会影响性能和不必要的对象创建,使用 Collections.emptyList(); 可以返回全局共享的不可变空集合

 

7. Optional 是 Java8 推出的解决 NPE 的利器,当它跟 Lambda 表达式结合时会非常强大

---------------

参考:https://blog.csdn.net/dadiyang/article/details/90384727

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值