我有这个枚举:
public enum AccountRange {
RANGE1("100,200"), RANGE2("201,300"), RANGE3("301,900");
private final String rangeAccount;
private static final Map<String, AccountRange> lookup = new HashMap<String, AccountRange>();
static {
for (AccountRange d : AccountRange.values()) {
lookup.put(d.getRangeAccount(), d);
}
}
private AccountRange(String rangeAccount) {
this.rangeAccount = rangeAccount;
}
public String getRangeAccount() {
return rangeAccount;
}
public static AccountRange get(String abbreviation) {
return lookup.get(abbreviation);
}
}
要返回RANGE1,我需要使用以下方法调用枚举:AccountRange.get("100,200")
但问题是我需要用一个简单的值调用枚举,例如:
AccountRange.get("108")我需要枚举返回RANGE1,因为 108 在 100 到 200 之间的第一个范围内
AccountRange.get("600")我需要枚举返回RANGE3