在Java中使用嵌套的枚举类型
在Java中使用嵌套的枚举类型
我有一个数据结构的想法,它涉及嵌套的枚举,这样我就可以做以下操作:
Drink.COFFEE.getGroupName(); Drink.COFFEE.COLUMBIAN.getLabel();
如果有方法声明的话:
someMethod(Drink type) someOtherMethod(DrinkTypeInterface type)
然后我可以这样说(适当地):
someMethod(Drink.COFFEE) someOtherMethod(Drink.COFFEE.COLUMBIAN)
这是我想到的解决方案:
public enum Drink { COFFEE("Coffee"); private String groupName; private Drink(String groupName) { this.groupName = groupName; } public enum Coffee implements DrinkTypeInterface { COLUMBIAN("Columbian Blend"), ETHIOPIAN("Ethiopian Blend"); private String label; private Coffee(String label) { this.label = label; } public String getLabel() { return this.label; } } String getGroupName() { return this.groupName; } }
还有接口:
public interface DrinkTypeInterface { public String getLabel(); }
我想我只是试图弄清楚在Java中处理这种情况的最佳方法,或者是否需要编写一堆if语句来处理各个Drink.values()。有什么帮助吗?