我希望创建一个枚举编辑器,它以枚举类型作为其泛型。 E是一个泛型类型,但被限制为枚举类型。我该如何从实例e中获取枚举类的值?
public class ComboBoxEnumEditor<E extends Enum<E>>{
public ComboBoxEnumEditor(E e) {
// how to get values of E from e?
// attemp1:
List values = e.getClass().values();
// attemp2:
List values = ((Enum.class)e.getClass()).values();
// attemp3:
List values = ((Enum.class)e.getClass()).values();
// none of the above works...
}
}
假设我有一个枚举类型
public enum Location {
Default( false, EAttributeLocation.MAIN_TABLE_IF_AVAILABLE ),
Main( false, EAttributeLocation.MAIN_TABLE ),
Overflow( false, EAttributeLocation.OVERFLOW_TABLE ),
Separate( false, EAttributeLocation.SEPARATE_TABLE );
......
}
我希望我的ComboBoxEnumEditor能够实现以下功能:
{
ComboBoxEnumEditor(new Location());
}
Please help, thanks.
EnumSet.allOf(enumClass)
也可能非常有用。 - Mike Strobel