【问题标题】:How do you convert a List<String> into a List<enum> in java 6?如何在 Java 6 中将 List<String> 转换为 List<enum>?
【发布时间】:2014-07-31 18:37:46
【问题描述】:

我基本上需要this question 的Java 版本。我很难弄清楚如何将它翻译成java。

假设我有一个数字枚举,每个数字都有自己的类和方法

public enum Numbers{
           one,
           two,
           three
           ....
    }

我最终在我的程序中有一个字符串列表,所以我需要将它们转换为枚举列表,以便我可以执行类似的操作

    for(Number number : listOfNumbers)
        {
        switch (number)
        {
        case one:
            new One();
            One.oneMethod();
            break;
           ...
        }
        }

【问题讨论】:

标签: java list enums


【解决方案1】:

大概是这样的:

List<Number> listofNumbers = new ArrayList<>();
for( String s: listOfStrings ){
    try {
        Number number = Enum.valueOf( Number.class, s );
        // or shorter:  Number.valueOf( s );     
        listOfNumbers.add( number );
    } catch( IllegalArgumentException iae ){
        // handle exception
    }
}

【讨论】:

  • 您可以使用Number.valueOf。为什么使用Enum 版本?
  • @SlightlyCuban 基本上是一样的,但是是的,你是对的:它更短。
猜你喜欢
  • 1970-01-01
  • 2022-01-05
  • 2021-09-17
  • 2021-08-08
  • 1970-01-01
  • 2020-01-11
  • 2015-06-05
  • 1970-01-01
  • 2013-08-26
相关资源
最近更新 更多