我经常使用这种技术,但我不知道该怎么称呼它。我称之为联想枚举。那是对的吗?这个枚举模式会被调用什么?
例子:
public enum Genders {
Male("M"), Female("F"), Transgender("T"), Other("O"), Unknown("U");
private String code;
Genders(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public static Genders get(String code) {
for (Genders gender : values()) {
if (gender.getCode().equalsIgnoreCase(code)) {
return gender;
}
}
return null;
}
}
我甚至不知道你可以写这样的代码! –
这不是一种模式。这只是普通的代码,它明白枚举是类。我也经常这样做,但是我会命名enum Gender(没有s),并抛出IllegalArgumentException而不是返回null来与valueOf()一致。 –
您在这里指的是什么“模式?”。这是事实,你有一个'get'方法? – templatetypedef