我需要创建一个Java类,它可以从许多中接收单个枚举值.例如:
public class MyClass
{
public enum enumA {..}
public enum enumB {..}
public enum enumC {..}
public enum enumD {..}
private OneOfTheEnumsAboveMember enumMember;
}
Run Code Online (Sandbox Code Playgroud)
由于无法扩展枚举,如何定义必须是其中一个枚举的单个成员?
枚举不能扩展,但可以实现接口.你可以有一个空的标记界面(或者更好 - 让它包含你真正需要的方法),并使其成为你的成员的类型:
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;
}
Run Code Online (Sandbox Code Playgroud)