【问题标题】:Adding quoted value to Enum将引用值添加到枚举
【发布时间】:2018-11-13 17:32:02
【问题描述】:

我创建了 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;
 }
}

我如何尝试从 Enum 中获取价值:

ValueMapping.REPS.name()

问题:有什么方法可以用引号从 Enum 中获取值?

【问题讨论】:

  • 但是您创建了一个方法getName(),但调用了.name().name()不就是要返回默认的.toString()吗。

标签: java string enums special-characters


【解决方案1】:

您可以将getName() 用作:

ValueMapping.REPS.getName()

例如

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

将打印 "REPS"

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多