我正在POJO之一中使用javax.validation.constraints.NotNull,如下所示:
public class Abc {
@NotNull
private final String x;
@NotNull
private final String y;
}
然后,即使我将两个字段的Abc对象都设置为空值,它也不会引发任何异常。知道为什么吗?
例如。
Abc abc = new Abc(null, null);
不会引发任何异常。
答案 0 :(得分:3)
注释只是附加在其注释项上的额外信息;他们天生就没有内置逻辑。如果您使用的是Lombok或Kotlin语言之类的工具,则编译器可能支持基于注释自动添加逻辑,但是否则,它们将不会“执行任何操作”,直到您真正进行主动检查为止(例如,通过验证程序运行POJO。
答案 1 :(得分:0)