亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 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 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號