将引用的值添加到Enum

时间:2018-11-13 17:32:02

标签: java string enums special-characters

我创建了Enum,并在字符串值中附加了引号。当我在任何类中从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()

问题:可以通过引号从枚举中获取价值吗?

2 个答案:

答案 0 :(得分:3)

您可以将getName()用作:

ValueMapping.REPS.getName()

例如

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

将打印 “ REPS”

答案 1 :(得分:3)

由于该方法是name(),因此没有覆盖final的机制。而且您不能在枚举变量的名称中添加引号。

因此,获取"REPS"的唯一方法是致电ValueMapping.REPS.getName()