我在脑海中有一个包含嵌套枚举的数据结构,这样我就可以做如下的事情:
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()。有什么帮助吗?
https://stackoverflow.com/questions/7296785
复制相似问题