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仍然会被抛出。使用注释imo的唯一原因是,您是否希望异常与NPE不同。
编辑:我确实知道异常将被显式抛出并因此被“控制”,但是至少错误消息的文本应该是可编辑的,不是吗?
编写诸如这样的类型注释有@NonNull
几个目的。
@NonNull
注释或明确的程序员编写的检查。“ Vanilla Java”版本要么有错字(流浪@NonNull
),要么在Lombok处理后显示了代码。