如何对java中的构造函数值进行限制?

如何对java中的构造函数值进行限制?,java,Java,java中限制构造函数值的正确方法是什么 我想确保不能使用参数int值>5的MyConstructor创建对象 示例:(伪代码) 公共MyConstructor(值){ 如果(值=5,我们通常会抛出一个IllegalArgumentException。但这并不妨碍您构造此类对象,我认为OP的意思不是这个。(而且做这样一件基本的事情有点费解) public class PersonForm { @NotNull @Size(max=64) private String name; @Min(0

java中限制构造函数值的正确方法是什么

我想确保不能使用参数int值>5的MyConstructor创建对象

示例:(伪代码)

公共MyConstructor(值){
如果(值<5){
这个值=值;
} 
}
您可以使用:

JSR-303允许您针对以下属性定义声明性验证约束:

public class PersonForm {

@NotNull
@Size(max=64)
private String name;

@Min(0)
private int age;
具体地

字段或属性的值必须是小于或等于value元素中的数字的整数值

@Max(10)
int quantity;

1:那代码不会编译2:使用枚举以确保编译时的安全虽然代码不是有效的Java代码,但我理解你的问题。枚举或专用类型可能会有所帮助。另外,您希望在编译时还是运行时受到限制?请准确解释您实际想要实现的目标。什么是实际类,什么是实际参数,它代表什么,为什么它必须小于5。目前,您的问题过于模糊,无法提供好的建议。如果传递无效值时,
value>=5
,我们通常会抛出一个
IllegalArgumentException
。但这并不妨碍您构造此类对象,我认为OP的意思不是这个。(而且做这样一件基本的事情有点费解)
public class PersonForm {

@NotNull
@Size(max=64)
private String name;

@Min(0)
private int age;
@Max(10)
int quantity;