Tôi có enum như thế nàyJava tùy chỉnh giá trị enum enum để
public enum Sizes {
Normal(232), Large(455);
private final int _value;
Sizes(int value) {
_value = value;
}
public int Value() {
return _value;
}
}
Bây giờ tôi có thể gọi Sizes.Normal.Value() để lấy giá trị số nguyên, nhưng làm thế nào để chuyển đổi giá trị số nguyên trở lại enum?
Những gì tôi làm bây giờ là:
public Sizes ToSize(int value) {
for (Sizes size : Sizes.values()) {
if (size.Value() == value)
return size;
}
return null;
}
Nhưng đó là cách duy nhất để làm điều đó? Đó là cách Java hoạt động?
bản sao có thể có của [Java enum reverse look-up best practice] (http://stackoverflow.com/questions/5316311/java-enum-reverse-look-up-best-practice) – bmargulies