如果我有一个类,并且想检查该类中某个属性的输入是否在列表中,我该怎么做?



public class Length  {

    public static final List<String> ALLOWABLE_UNITS =
        Collections.unmodifiableList(Arrays.asList("inches", "feet", "meters", "millimeters"));

    public BigDecimal lengthValue;

    @SomeMatchingAnnotation(ALLOWABLE_UNITS)
    public String lengthUnit;
}


有注释可以做到这一点吗?我需要创建自己的吗?

最佳答案

在您所在字段的设置器中,您可以像这样进行验证:

public void setLengthUnit(String lengthUnit) {
  if (!ALLOWABLE_UNITS.contains(lengthUnit) {
    throw new IllegalArgumentException("Length unit not recognized.");
  }
  this.lengthUnit = lengthUnit;
}

关于java - list 中的Java验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24727176/

10-11 03:06