将枚举转换为集合/列表
是否有一些单行桥接方法可以将给定的枚举转储到java.util.List
或java.util.Set
?
像 Arrays.asList()
或 Collection.toArray()
这样的内置内容应该存在于某处,但我无法在我的 IntelliJ 调试器的评估器窗口中找到它(并且Google/SO 结果也是如此)。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
Apache commons-collections 中也有
EnumerationUtils.toList(枚举)
There's also in Apache commons-collections
EnumerationUtils.toList(enumeration)
我需要同样的东西,这个解决方案工作正常,希望它也可以帮助别人
,然后你可以获得枚举的 .name() 。
I needed same thing and this solution work fine, hope it can help someone also
then you can get the .name() of your enumeration.
您可以使用
集合。 list()
将Enumeration
转换为List
在一行中:没有类似的方法来获取
Set
>,但是你仍然可以一行完成:You can use
Collections.list()
to convert anEnumeration
to aList
in one line:There's no similar method to get a
Set
, however you can still do it one line:怎么样: Collections.list(Enumeration e) 返回一个
ArrayList
How about this: Collections.list(Enumeration e) returns an
ArrayList<T>
如果您需要
Set
而不是List
,则可以使用 EnumSet.allOf()。更新:JakeRobb 是对的。我的答案是关于 java.lang.Enum 而不是 java.util.Enumeration。抱歉回答无关的问题。
If you need
Set
rather thanList
, you can use EnumSet.allOf().Update: JakeRobb is right. My answer is about java.lang.Enum instead of java.util.Enumeration. Sorry for unrelated answer.
使用番石榴时(请参阅doc)有
Iterators.forEnumeration
。给定一个Enumeration x
,您可以执行以下操作:获取不可变的 Set:
获取不可变的 List:
获取 hashSet:
When using guava (See doc) there is
Iterators.forEnumeration
. Given anEnumeration x
you can do the following:to get a immutable Set:
to get a immutable List:
to get a hashSet: