我有一个用ParametersAreNonnullByDefault
javax注释注释的类。但是它的构造函数和方法接受空参数而不抛出NullPointerException
。
@ParametersAreNonnullByDefault
class MyClass {
private Integer intField;
public MyClass(Integer intField) {
this.intField = intField;
}
public Integer someMethod(Integer a) {
return a;
}
}
以下代码行不会像我期望的那样抛出NullPointerException:
MyClass obj = new MyClass(null);
obj.someMethod(null);
根据文档,"此注释可以应用于包,类或方法,以指示该元素中的方法参数默认为非空的"。 where / when是否使用此批注对方法参数进行空检查?