在 void 方法上使用 @NonNull 有什么作用?
What does using @NonNull on a void method do?
方法的 Lombok 注释 @NonNull
有什么意义?
class MyClass {
@NonNull
void run() {
// code here
}
}
我们是否检查 class MyClass 的实例(MyClass obj == null)?
对于 void
方法,没有意义。
对于return类型的方法,表明不会return null:
@NonNull String foo() {
// I promise I won't return null herre!
}
根据 tutorial 判断,它似乎不会在方法内生成检查以确保它 不是 null,但它告诉任何来电者他们可以现实地期望一个非空值被 returned.
您可以在方法或构造函数的参数上使用 @NonNull
让 lombok 为您生成 null 检查语句。
Lombok 始终将字段上名为 @NonNull
的任何注释视为生成空检查的信号,如果 lombok 为您生成整个方法或构造函数,例如 @Data
。但是,现在,在参数上使用 lombok 自己的 @lombok.NonNull
会导致在您自己的方法或构造函数中插入 null 检查语句。
方法的 Lombok 注释 @NonNull
有什么意义?
class MyClass {
@NonNull
void run() {
// code here
}
}
我们是否检查 class MyClass 的实例(MyClass obj == null)?
对于 void
方法,没有意义。
对于return类型的方法,表明不会return null:
@NonNull String foo() {
// I promise I won't return null herre!
}
根据 tutorial 判断,它似乎不会在方法内生成检查以确保它 不是 null,但它告诉任何来电者他们可以现实地期望一个非空值被 returned.
您可以在方法或构造函数的参数上使用 @NonNull
让 lombok 为您生成 null 检查语句。
Lombok 始终将字段上名为 @NonNull
的任何注释视为生成空检查的信号,如果 lombok 为您生成整个方法或构造函数,例如 @Data
。但是,现在,在参数上使用 lombok 自己的 @lombok.NonNull
会导致在您自己的方法或构造函数中插入 null 检查语句。