我在 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);
不抛出任何异常。
最佳答案
注释只是附加到它们注释的项目上的额外信息;它们本质上没有内置逻辑。如果您使用类似 Lombok 的工具或者 Kotlin 语言,编译器可能支持根据注释自动添加逻辑,但除此之外,它们不会“执行任何操作”,直到您实际进行主动检查(例如,通过 validator 运行 POJO)。
关于java - @NotNull 什么时候会抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54660774/