为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Java 中将对象转换为 Enum 并获取当前值

如何在 Java 中将对象转换为 Enum 并获取当前值

慕桂英4014372 2023-09-20 16:10:43
我目前有一个领域被投射到反对。我需要检查该字段是否是枚举类型,如果是,我想获取当前设置值的名称。任何想法,将不胜感激。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.


查看完整回答
反对 回复 2023-09-20
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

您已经在该字段中获得了常量的值,只需执行field.get(theObject);



查看完整回答
反对 回复 2023-09-20
  • 2 回答
  • 0 关注
  • 112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信