我目前有一个领域被投射到反对。我需要检查该字段是否是枚举类型,如果是,我想获取当前设置值的名称。任何想法,将不胜感激。If(field is an enum){ get the value of the field}我现在在哪里if (field.getClass().isEnum()){ String enumValue = //here i need to cast the field to enum and do something like field.name()}
2 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
基于
我当前有一个字段被转换为对象
我假设你有类似的Object obj = SomeEnum.FOO;
情况
我想获取当前设置值的名称
我假设你想得到"FOO"
String.
如果上述假设正确,那么您所写的内容
String enumValue = //here i need to cast the field to enum and do something like field.name()
应该为你工作。因此,当您确定field
包含枚举值时,您可以将其转换为Enum
类型并调用其name()
方法,该方法返回表示枚举值的字符串。
String enumValue = ((Enum)field).name();
如果您确定枚举不会覆盖其toString()
方法,您也可以调用它,因为默认情况下它也返回name
枚举。
String enumValue = field.toString(); //this solution looks nicer but first one is more reliable.
添加回答
举报
0/150
提交
取消