Имейте перечисление с внутренними полями, видом карты.
Теперь мне нужно получить перечисление по его внутреннему полю.
Написал это:
package test;
/**
* Test enum to test enum =)
*/
public enum TestEnum {
ONE(1), TWO(2), THREE(3);
private int number;
TestEnum(int number) {
this.number = number;
}
public TestEnum findByKey(int i) {
TestEnum[] testEnums = TestEnum.values();
for (TestEnum testEnum : testEnums) {
if (testEnum.number == i) {
return testEnum;
}
}
return null;
}
}
Но не очень эффективно просматривать все перечисления каждый раз, когда мне нужно найти соответствующий экземпляр.
Есть ли другой способ сделать то же самое?