java使用枚举类中的方法,当在运行时获取枚举时
我有一节课
public class AT{
public Map getMap(){
Map<String,Class> map = new HashMap<>();
map.put("name",AT.A.class);
map.put("name",AT.B.class);
return map;
}
public enum A {;
a,b,c,d;
public static String getTableName() {
return "table_nameA" ;
}
}
public enum B {;
e,f,g,h;
public static String getTableName() {
return "table_nameB" ;
}
}
}
我将从用户处获得一个字符串s
,可以从该字符串中从map
获取枚举类A
主要类别->
AT at = new AT();
Map<String,Class > map = new HashMap<>(at.getMap());
System.out.println(map.get(s).getEnumConstants()[0]); //will give a;
但是我无法访问函数getTableName
System.out.println( map.get(s).getTableName() ); //want to use this but doesn't work.
# 1 楼答案
让每个枚举实现一个接口
这包括: