【发布时间】:2011-04-29 08:32:43
【问题描述】:
我需要完成以下(这是一个简化版本):
enum Animals{
enum Cats{tabby("some value"), siamese("some value")},
enum Dogs{poodle("some value"), dachsund("some value")},
enum Birds{canary("some value"), parrot("some value")}
private String someValue = "";
private ShopByCategory(String someValue)
{
this.someValue = someValue;
}
public String getSomeValue()
{
return this.someValue;
}
}
这样我就可以按如下方式访问这些项目:
string cat1 = Animals.Cats.tabby.getSomeValue;
string dog1 = Animals.Dogs.dachsund.getSomeValue;
string bird1 = Animals.Birds.canary.getSomeValue;
我尝试使用枚举执行此操作的原因是,我需要能够访问每一层,而不必 a) 实例化一个类,b) 将层的名称隐藏在方法名称后面,或者c) 使用迭代器遍历 EnumSet。
这有可能吗?你会建议什么而不是枚举?
【问题讨论】:
标签: java enums n-tier-architecture enumset