met*_*ers 11 java annotations lombok
Lombok 提供了执行空检查并抛出 NPE(如果没有以不同方式配置)的注释 @NonNull。
我不明白为什么我会使用该文档示例中所述的注释:
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();
}
Run Code Online (Sandbox Code Playgroud)
无论如何都会抛出 NPE。此处使用注释 imo 的唯一原因是您是否希望异常与 NPE 不同。
编辑:我知道异常会被显式抛出并因此被“控制”,但至少错误消息的文本应该是可编辑的,不是吗?
编写诸如此类的类型注释有@NonNull多种用途。
@NonNull注释或明确的程序员编写的检查。“Vanilla Java”版本要么有错别字(一个流浪@NonNull),要么在 Lombok 处理后显示代码。