NonNull用法

这篇博文是从本人过去的 github pages 博客迁移过来,时间上会比较古老。

在编程中经常会需要对传入的参数做空引用检查。传统的做法是使用一连串的if语句对入参做检查,代码冗长又破坏整体感。

可以使用@NonNull在方法或构造函数的参数上,让lombok为您生成null-check语句。
@NonNull在Java库lombok v0.11.10中引入,而Android可以通过androidx.annotation库导入。

写一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Foo {
Object mSomeObj;

public Foo() {

}

/**
* 使用 @NonNull 的写法
* @param obj obj
*/
public void setSomeObj(@NonNull Object obj) {
this.mSomeObj = obj;
}

/**
* 不使用 @NonNull 的写法
* @param obj obj
* @throws NullPointerException
*/
public void setSomeObj_old(Object obj)
throws NullPointerException {
if (mSomeObj == null) {
throw new NullPointerException();
}
this.mSomeObj = obj;
}
}
发布于

2019-09-18

更新于

2025-07-07

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×