处理 SonarQube 错误“javax.validation.constraints.

考虑下面的代码。当我分析声纳规则的代码时,它抱怨“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;

    }

}


PIPIONE
浏览 164回答 1
1回答

慕姐4208626

您应该将@NotNull注释移动到构造函数和 setter 参数:public Dummy(@NotNull Integer dummyField) {    this.dummyField = dummyField;}public void setDummyField(@NotNull Integer dummyField) {    this.dummyField = dummyField;}如果您验证该值的所有可能的修改器仅将其设置为非空值,则其效果与声明该值本身必须为非空的效果相同 - 但应避免虚假警告
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java