私はこのテクニックを頻繁に使いますが、私は何を呼び出すべきか分かりません。私はそれを連想列挙と呼びます。あれは正しいですか?この列挙パターンは何と呼びますか?
例:
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;
}
}
私はあなたがそういうコードを書くことさえ知りませんでした! –
パターンではありません。列挙型がクラスであることを理解しているのは普通のコードです。私もそれを頻繁に行っていますが、私は列挙型の名前を(sなし)とし、valueOf()と一貫性を持たせるためにnullを返す代わりにIllegalArgumentExceptionをスローします。 –
具体的にここで "パターン?あなたは 'get'メソッドを持っているという事実はありますか? – templatetypedef