作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
Possible Duplicate:
Is it possible to extend Java Enums?
我有一个小问题,我有一个具有一定数量值的枚举。此枚举用于系统的多个部分,在某些情况下需要包含更多值。
由于在 Java 中不允许扩展枚举,我试图想出一些替代方案,到目前为止我的解决方案是创建一个接口(interface),其中包含一个枚举,其值对系统的所有部分都是通用的,然后创建一个空类实现这个接口(interface)。
所以 enum A implements I
所以我可以使用 A.COMMON_ENUM.ENUM_VALUE
现在我可以在系统的某个子部分创建一个新的 enum B
,它包含一个枚举 ADDITIONAL_ENUM
并且它实现了 I
。所以现在我可以使用这个:
B.COMMON_ENUM.ENUM_VALUE
或
B.ADDITIONAL_ENUM.ADDED_ENUM_VALUE
这是一个丑陋的解决方案吗? - 我的意思是,它有效,但似乎错误...
-----更新:-----
公共(public)枚举位于系统的“核心”部分(可以有多个前端),附加枚举因每个前端而异。所以打个比方:假设一个 VEHICLE 枚举有 ENGINE、DOORS,然后在我的 CAR 前端我需要添加“WHEELS”,在我的 BOAT 前端我需要添加“PROPELLER”
代码示例:
public interface EnumType { // I
public enum Core {
VALUE1,
VALUE2,
VALUE3
}
}
public enum CommonEnum implements EnumType { // A
}
public enum AdditionalEnumType implements EnumType { // B
public enum Additional {
VALUEX,
VALUEY
}
}
我是一名优秀的程序员,十分优秀!