我需要完成以下(这是一个简化版本):
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 的迭代器。
这是可能吗?你会建议什么而不是枚举?