@Nullable
和@NotNull
自己做什么。它们应该充当文档工具。
该
@Nullable注释提醒您在以下情况下必须进行NPE检查:
- 可以返回null的调用方法。
- 取消引用可以为空的变量(字段,局部变量,参数)。
该
@NotNull注释是,实际上,在声明下面的一个明确的合同:
- 方法不应返回null。
- 变量(如字段,局部变量和参数)
不能不宜 持有空值。
例如,代替编写:
public void setX(final Object aX ) { // some pre}您可以使用:
public void setX(@NotNull final Object aX ) { // some pre}另外,
@NotNull通常由ConstraintValidators检查(例如,在春季和冬眠期间)。
@NotNull由于注释定义不提供任何
ConstraintValidator类型引用,因此注释本身不会进行任何验证。
有关更多信息,请参见:
- Bean验证
- NotNull.java
- Constraint.java
- ConstraintValidator.java



