方法的Lombok注释@NonNull
中的要点是什么?
class MyClass {
@NonNull
void run() {
// code here
}
}
我们检查MyClass类的实例(MyClass obj == null)吗?
答案 0 :(得分:18)
对于void
方法,没有意义。
对于具有返回类型的方法,它表明它不会返回null:
@NonNull String foo() {
// I promise I won't return null herre!
}
根据tutorial判断,它看起来不会在方法中生成检查以确保它不是 null,但它告诉任何调用者他们可以实际地期望返回非空值。
答案 1 :(得分:-2)
您可以在方法或构造函数的参数上使用@NonNull
让lombok为您生成一个null-check语句。
Lombok始终将字段上名为@NonNull
的任何注释视为生成空检查的信号,如果lombok为您生成整个方法或构造函数,例如@Data
。但是,现在,在参数上使用lombok自己的@lombok.NonNull
会导致在您自己的方法或构造函数中插入null-check语句。