【发布时间】:2018-11-01 01:00:46
【问题描述】:
我有几个像下面这样的枚举:
public enum Season {
SPRING, SUMMER, AUTUM, WINTER
}
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
我正在尝试为一个问题编写一个通用方法。
private void doSomethingWithAnyEnum(Class enumClass,String checkThisProperty)
{
if(EnumUtils.isValidEnum(enumClass, checkThisProperty))
{
//here i should be able to call valueOf(String) method on enum
//without bothering about the type coming in.
}
}
这样我就可以像这样调用这个方法:
doSomethingWithAnyEnum(Days.class,"blah") ;
doSomethingWithAnyEnum(Seasons.class,"blah");
我被困在如何传递枚举并在使用相同的方法的方法中使用它的类和名称。我尝试使用simpleName(),但它在这里不起作用。有没有办法做到这一点?
【问题讨论】:
-
"...并在方法中使用它的类和名称,使用相同的东西" 你这是什么意思?你能举个例子说明你正在尝试做什么吗?
-
我不知道您所说的“用 [...] 做某事但以更通用的方式”是什么意思。
-
@f1sh 为清楚起见编辑了注释部分。如果清楚,请告诉我。
标签: java class object types enums