1.枚举使用泛型
interface MyType {
Class<?> getType();
}
enum MyEnum implements MyType {
VALUE1(String.class),
VALUE2(Integer.class),
VALUE3(Double.class);
private final Class<?> type;
MyEnum(Class<?> type) {
this.type = type;
}
public Class<?> getType() {
return type;
}
public static void main(String[] args) {
System.out.println(MyEnum.VALUE1.getType()); // 输出: class java.lang.String
System.out.println(MyEnum.VALUE2.getType()); // 输出: class java.lang.Integer
System.out.println(MyEnum.VALUE3.getType()); // 输出: class java.lang.Double
}
}
2.使用class调用方法
Object o = MyEnum.getType().newInstance(); //使用class创建对象
Method run = o.getClass().getMethod("run", String.class); //获取指定方法
run.invoke(o,value.getMDevName());//调用方法