java - 对象被标记为 "javax.validation.constraints.NotNull"但未在此构造函数中初始化

标签 java

我有以下对象

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

public class SomeObject {
    @Valid
    @NotNull
    private int someCount;

    public int getSomeCount() {
        return someCount;
    }

    public void setSomeCount(final int someCount) {
        this.someCount = someCount;
    }

    public SomeObject(final int someCount) {
        this.someCount = someCount;
    }
}

但我明白了

"someCount" is marked "javax.validation.constraints.NotNull" but is not initialized in this constructor.

它指向构造函数。我正在将一个项目传递给构造函数。我该如何解决这个问题

最佳答案

这里有一个原始类型int。它不能为空。相反,我建议您使用 @Min(0) validator 。如果您确实需要将 null 作为值传入,请改用包装器 Integer 。为此,您可以像上面那样进行空检查。但我不推荐这种方法。

关于java - 对象被标记为 "javax.validation.constraints.NotNull"但未在此构造函数中初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48351878/

相关文章:

java - 如何将Java编译成32位?

java - Selenium 网络驱动程序 : MalformedByteSequenceException Invalid byte 2 of 2-byte UTF-8 sequence

java - 升级到 Wildfly 18 后,EntityManager 已停止运行更新语句

java - 导入org.springframework无法解决

java - 为什么Timestamp在单元测试中打印运行模型和调试模型之间的差异?

java - Matlab Compiler SDK plot waitforFigures函数多线程

java - 在 REST 客户端和 Jersey Java 代码完成的 REST 调用的响应中获取不同的内容类型

java - HTTP 状态 404 – 源服务器未找到目标资源的当前表示或不愿意透露该资源的存在

java - EasyMock 记录阶段模拟作为参数

java - 避免在 Hibernate 中使用自动增量键重复