javanpe是什么_NPE问题(一)

更新时间:2023-06-22 00:41:55 阅读: 评论:0

javanpe是什么_NPE问题(⼀)
最近在看Java_manual.pdf,其中有⼀点值得反思:“防⽌ NPE,是程序员的基本修养。”
NPE(Null Pointer Exception)⼀直是我们最头疼的问题,也是最容易忽视的地⽅,先总结⼏条不同场景的解决⽅案,望后续补充。
1.RPC调⽤某个规定好的接⼝,如获取某⼀范围内查询结果,返回结果我们约定好是List。
若没有结果,我们是返回null还是ptyList() ?虽然NPE问题⼤部分是调⽤者问题,但是我们可以从源头解决,⽐如我们不允许null值,必须返回对应类型(当然实际业务可能不⼀样)。
public List getLists(Map condition) {
List records = getRecords(condition);
if (records != null && records.size() > 0) {
return records;
}
ptyList();
}
2.foreach遍历循环时候要做集合null值判断,以前我们这么写
if (records != null && records.size() > 0) {岗位申请书
for (String record : records) {
//some codes
}
导游用英语怎么说
}
//next step
我们可以直接使⽤org.springframework.util.CollectionUtils;
if (!CollectionUtils.isEmpty(records)) {
十一英文怎么写
for (String record : records) {
//some codes
水浒传人物形象}
}
//next step
3.与2对应的jdk8提供了⼀些“⼯具”类java.util.Objects对对象进⾏⾮空判断:
张荣来if (Null(str)) { // 等价于 str != null
// some codes
}
// next step
if (Objects.equals(a, b)) { // 等价于 (a == b) || (a != null && a.equals(b));
/
/ some codes
}
// next step
// 等价于 String str = a == null ? null : a.toString();
String str = String(a, null);
4.还有⼀些pojo⾥⾯的类型尽量使⽤包装类(之前《java中包装类与基本类型的运⽤对⽐》提到过),这会导致null值出现,根据不同场景进⾏处理,但是不建议在pojo⾥⾯处理,要保证pojo的完整⼲净。
显示器分辨率调整不了// 反例:
public void tCreateTime(Date createTime) {
if (Objects.isNull(createTime)) {
遵守规则的英文
} el {
}
}
5.spring注解@NonNull @Nullable
如果可以传⼊NULL值,则标记为@Nullable,如果不可以,则标注为@NonNull。如果违反了这些协定,IntelliJ IDEA 将出现警告。
private List query(@NonNull PersonQueryBean queryBean) {
// to do
商业垃圾Sort sort = Sort();
....
}

本文发布于:2023-06-22 00:41:55,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1049075.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:结果   场景   类型   返回   处理
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图