使用@NonNull检查input == null vs抛出NPE

时间:2018-05-11 01:05:41

标签: java lombok notnull

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

0 个答案:

没有答案