Java 从多种可能的类型中保存单个枚举值
我需要创建一个Java类,它可以从多个枚举值中接收一个枚举值。例如:Java 从多种可能的类型中保存单个枚举值,java,enums,Java,Enums,我需要创建一个Java类,它可以从多个枚举值中接收一个枚举值。例如: public class MyClass { public enum enumA {..} public enum enumB {..} public enum enumC {..} public enum enumD {..} private OneOfTheEnumsAboveMember enumMember; } 由于无法扩展枚举,如何定义必须是枚举之一的单个成员?枚举无法扩
public class MyClass
{
public enum enumA {..}
public enum enumB {..}
public enum enumC {..}
public enum enumD {..}
private OneOfTheEnumsAboveMember enumMember;
}
由于无法扩展枚举,如何定义必须是枚举之一的单个成员?枚举无法扩展,但它们可以实现接口。您可以有一个空的标记接口(或者更好,让它包含您实际需要的方法),并使其成为您的成员类型:
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;
}
使枚举实现一个接口。