public void test(@NonNull String input){
#1 log(input.length());
}
- 使用lombok @NotNull注释会删除样板代码。但是如果将null作为输入传递,它最终也会抛出一个NPE(默认情况下)。那么使用@NonNull与让NPE被排在第一行有什么不同呢?
醇>
public void test(String input){
if(input ==null){
throw NPE;
}
log(input.length());
}
- 在类似的说明中,如果输入为null并且可以对其进行某些操作(例如,设置默认值或绕过块,如果为null),那么对null进行显式检查是有意义的。否则进行此检查有任何意义。不进行空检查并让NPE抛出是否更好?如果这个问题的答案是,不要做空检查,那么为什么Lombok @NonNull存在?
醇>