如何从字符串值获取ENUM - JAVA

时间:2014-03-03 19:03:03

标签: java enums

我是java新手,现在我正在尝试查看是否可以从分配的字符串值中获取ENUM。

考虑例如我在ENUM下面有这个(我已经更正以提供完整的结构)

public enum Signal{
    RED("stop"), GREEN("start"), ORANGE("slow down");

    private String value;

    private Signal(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }
}

如果我有分配给它的值,是否可以确定ENUM。如果我有“停止”

,那就有可能获得RED

当我在互联网上搜索时,讨论了“价值”,这不是我需要的,因为它有助于不同的目的。任何参考也将非常感谢。 谢谢你的阅读!!

1 个答案:

答案 0 :(得分:2)

public enum Signal{
  ...

  public static Signal byValue(String value) {
    Singal[] signales = Signal.getEnumConstants();
    for (Signal s:signals) {
       if (s.getValue().equals(value) {
         return s;
       }
    }
  }
}