gpt4 book ai didi

java - 不使用 extends 的 Java 中的可扩展枚举

转载 作者:行者123 更新时间:2023-11-29 06:39:25 25 4
gpt4 key购买 nike

<分区>

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
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com