Мне нужно создать типы классов emum wih.создание констант enum со всеми типами классов?
Enum должен содержать:
Employee.class
Boarding.class
Address.class
Salary.class
Как я могу создать перечисление с выше констант?
Спасибо!
Мне нужно создать типы классов emum wih.создание констант enum со всеми типами классов?
Enum должен содержать:
Employee.class
Boarding.class
Address.class
Salary.class
Как я могу создать перечисление с выше констант?
Спасибо!
Enums - это их собственный тип, они не могут быть другими типами классов. Вы хотите перечисление, которое содержит ссылку на другие классы. Может быть, что-то вроде этого.
public enum Thing {
EMPLOYEE(Employee.class),
BOARDING(Boarding.class),
ADDRESS(Address.class),
SALARY(Salary.class);
private final Class clazz;
Thing(Class clazz) {
this.clazz = clazz;
}
public Class getClassOfThing() {
return clazz;
}
}
Возможно, у вас могут появиться лучшие имена.
public enum Enumss {
EMPLOYEE("Employee.class"),
BOARDING("Boarding.class"),
ADDRESS("Address.class"),
SALARY("Salary.class");
private String value;
private Enumss(String s){
this.value = s;
}
public String getValue() {
return value;
}
}
Если вы хотите имя класса, то если вы хотите использовать ссылку на использование класса.
static Class<?> forName(String className)
Он хочет знать о классах, а не строках, которые выглядят как имена классов с добавлением «.class» ... –
Использование Class.forName может получить ссылку на класс, но, честно говоря, решение для @PaulHicks выглядит лучше xD – Koitoer
enum константы имя строки, такие как 'FOOBAR', зачем вам« enum with classes »? –
RC, мне нужно передать типы классов в некоторый API. Поэтому я должен хранить все эти типы классов в Enum. – user3269829
Сохраните их в списке и передайте список API. –