public enum Days {
SUNDAY,
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY;
public enum WeekDays{
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
}
public enum WeekEnds{
SATURDAY,
SUNDAY;
}
}
public class InnerEnumTestClass<E extends Enum<E>> {
public E enumtype;
/**
* @param enumtype
*/
public InnerEnumTestClass(E enumtype) {
super();
this.enumtype = enumtype;
}
/**
* @param args
*/
public static void main(String[] args) {
InnerEnumTestClass<Days> testObj =
new InnerEnumTestClass<Days>(Days.WeekDays.MONDAY);
// I get the following compiler error.
//The constructor InnerEnumTestClass<Days>(Days.WeekDays) is undefined
}
}
正如你看到的类InnerEnumTestClass只接受类型,但我需要的构造函数接受天,Days.WeekDays和Days.Weekends。如何使用嵌套枚举与Java类型擦除
如何建立?
也许'EnumSet',看到[这里](http://stackoverflow.com/questions/7296785/using-nested-enum-types-in-java/7297243#7297243)? – trashgod