我的情况是,我的枚举已经变得庞大并且在维护方面失控。我想把责任委托给每个班级。但是,有一些常见的资格符合多个班级的要求。我正在考虑定义一个父枚举,其中定义了必要的常用枚举,然后通过各个类的枚举扩展父枚举以添加类特定的条目。 Java不支持扩展枚举。有谁知道更好的选择?
我感谢所提供的任何建议。谢谢!
答案 0 :(得分:1)
您应该切换到整数,就像许多JavaSE API一样。
class Constants
{
public static final int COMMON_CONSTANT_1 = 1;
public static final int COMMON_CONSTANT_2 = 2;
....
static final int END_OF_COMMON_CONSTANTS = 127;
}
class AClass
{
public static final int CONSTANT_NEEDED_BY_ACLASS =
Constants.END_OF_COMMON_CONSTANTS + 1;
public static final int ANOTHER_CONSTANT =
CONSTANT_NEEDED_BY_ACLASS + 1;
....
}
这样任何类都可以使用公共常量并使用自定义常量扩展它们,而不会相互干扰。
答案 1 :(得分:0)
如果您的枚举只有一个属性,您可以在file.properties中移动,否则您可以在类中创建内部枚举类以使所有内容更整洁