向枚举添加引用值

Adding quoted value to Enum

我创建了带有附加引号的字符串值的枚举。当我在任何 class 中从 Enum 调用这个值时,我得到了值,但没有引号。

我的枚举:

public enum ValueMapping {
 BSE_M("BSE_MEDIUM"),
 REPS("\"REPS\""),
 TBOMD("TBOMD");

 private String name;

 ValueMapping(String name) {
     this.name = name;
 }

 public String getName() {
     return name;
 }

 public void setName(String name) {
     this.name = name;
 }

 public static ValueMapping getByName(String name) {
     ValueMapping result = null;
     for (ValueMapping operName : values()) {
         if (operName.getName().equals(name)) {
             result = operName;
             break;
         }
     }
     return result;
 }
}

我如何尝试从枚举中获取值:

ValueMapping.REPS.name()

问题:有没有办法从带引号的枚举中获取值?

您可以将 getName() 用作:

ValueMapping.REPS.getName()

例如

System.out.println(ValueMapping.REPS.getName());

将打印 "REPS"

没有覆盖 name() 的机制,因为方法是 final。并且您不能将引号添加到枚举变量的名称中。

因此,获得 "REPS" 的唯一方法是调用 ValueMapping.REPS.getName()