gpt4 book ai didi

java - @NotNull 原语约束,为什么?

转载 作者:行者123 更新时间:2023-11-30 08:32:19 26 4
gpt4 key购买 nike

刚刚遇到一个错误,问题是我遇到的问题:

@Column(name = "ACTIVE")
@NotNull
private boolean active;

在我的代码中,我忘记了设置值,但它仍然“有效”,因为 boolean 值的默认值为 false。我现在将其更改为 Boolean,以便在未主动设置时验证失败。

为什么我可以对显然不能为 null 的事物使用 @NotNull 约束?是不是重构的原因,所以如果我像现在一样更改为 boolean 值,我仍然保留预期的约束?

是否有任何好的想法可以解决这些问题(除了为此目的进行的更多测试)?还是我应该避免使用原语?

最佳答案

As javadoc says The annotated element must not be null. Accepts any type.

可以是任何类型,它只是检查变量是否为not null,与是否接受null无关。

如前所述,它适用于 METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER

@Target(value={METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER})

关于java - @NotNull 原语约束,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40172563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com