在Java中限制构造函数值的正确方法是什么?
我要确保无法使用参数值int> 5的MyConstructor创建对象
示例:(伪代码)
public MyConstructor(value){
if(value < 5){
this.value = value;
}
}
答案 0 :(得分:2)
您可以使用JSR-303 Bean Validation API:
@Max(4)
int value
JSR-303允许您针对此类属性定义声明性验证约束:
public class PersonForm { @NotNull @Size(max=64) private String name; @Min(0) private int age;
特别是@Max
字段或属性的值必须是小于或等于value元素中数字的整数值。
@Max(10) int quantity;