我需要制作一个 Java 类,它可以从多个枚举值中接收单个枚举值。例如:
public class MyClass
{
public enum enumA {..}
public enum enumB {..}
public enum enumC {..}
public enum enumD {..}
private OneOfTheEnumsAboveMember enumMember;
}
由于无法扩展枚举,我如何定义一个必须是枚举之一的成员?
最佳答案
枚举不能扩展,但可以实现接口(interface)。你可以有一个空的标记接口(interface)(或者更好 - 让它包含你实际需要的方法),并使它成为你的成员的类型:
public class MyClass {
public static interface EnumInterface {}
public enum enumA implements EnumInterface {..}
public enum enumB implements EnumInterface {..}
public enum enumC implements EnumInterface {..}
public enum enumD implements EnumInterface {..}
private EnumInterface enumMember;
}
关于java - 从可能的多种类型中保存单个枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35792385/