问题
是否有一些单行桥接方法将给定的枚举转储到java.util.List或java.util.Set?
内置的内容如Arrays.asList()
或Collection.toArray()
应该存在于某处,但我无法在IntelliJ调试器的评估窗口中找到它(以及Google / SO结果)。
#1 热门回答(246 赞)
你可以使用Collections.list()
将anEnumeration
转换为aList
在一行:
List<T> list = Collections.list(enumeration);
没有类似的方法来获得aSet
,但你仍然可以做到一行:
Set<T> set = new HashSet<T>(Collections.list(enumeration));
#2 热门回答(15 赞)
怎么样:ArrayList Collections.list(Enumeration e)
#3 热门回答(5 赞)
有一个将枚举转换为列表的简单示例。为此我使用了Collections.list(enum)
方法。
public class EnumerationToList {
public static void main(String[] args) {
Vector<String> vt = new Vector<String>();
vt.add("java");
vt.add("php");
vt.add("array");
vt.add("string");
vt.add("c");
Enumeration<String> enm = vt.elements();
List<String> ll = Collections.list(enm);
System.out.println("List elements: " + ll);
}
}
参考:How to convert enumeration to list