Lombok提供注解@NonNull
,它执行nullcheck并抛出NPE(如果未进行不同配置)。
我不明白为什么要使用该注释,如文档中所述的示例:
private String name;
public NonNullExample(@NonNull Person person) {
super("Hello");
if (person == null) {
throw new NullPointerException("person is marked @NonNull but is null");
}
this.name = person.getName();
}
NPE(NullPointerException)无论如何都会被抛出。在我看来,使用注释的唯一原因是如果您希望异常与NPE不同。编辑:我知道异常会被显式地抛出,因此“受控”,但至少错误消息的文本应该是可编辑的,不是吗?
@NonNull
注解,会生成什么代码(因此有“Vanilla Java”标题)。请注意,不要改变原文的意思,尽可能使翻译通俗易懂。 - Jos@NonNull
之外都会剥离它们。原因是:nonnull是唯一一个用于文档/ lint工具目的的注释。所有其他lombok注释都不需要,因此在lombok完成其工作后可以将其删除。 - rzwitserloot