考虑下面的代码。当我分析声纳规则的代码时,它抱怨“javax.validation.constraints.NotNull”但没有在这个构造函数中初始化。我可以通过使用默认值初始化字段来解决它(请参阅此处的示例),但它会使 @NotNull 注释变得多余。所以我的问题是如何以最好的方式解决这个问题。public class Dummy { @NotNull(message = "Dummy field cannot be null") private Integer dummyField; public Dummy(Integer dummyField) { this.dummyField = dummyField; } public Integer getDummyField() { return dummyField; } public void setDummyField(Integer dummyField) { this.dummyField = dummyField; }}
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
您应该将@NotNull注释移动到构造函数和 setter 参数:
public Dummy(@NotNull Integer dummyField) {
this.dummyField = dummyField;
}
public void setDummyField(@NotNull Integer dummyField) {
this.dummyField = dummyField;
}
如果您验证该值的所有可能的修改器仅将其设置为非空值,则其效果与声明该值本身必须为非空的效果相同 - 但应避免虚假警告
添加回答
举报
0/150
提交
取消