【问题标题】:Create Enumeration of objects创建对象枚举
【发布时间】:2015-08-07 18:54:22
【问题描述】:
我需要创建一个 java.util.Enumeration 的 Fruit 对象,以便在测试期间将其传递给此方法。这是遗留代码,我无法更改方法签名。
public void get(Enumeration<Fruit> fruits){}
我的水果课:
public class Fruit{
String name;
//getters and setters
}
如何创建 Fruit 对象的枚举?
【问题讨论】:
标签:
java
enumeration
legacy
【解决方案1】:
您可以使用Collections.enumeration(Collection<T>) 方法将集合(例如List<Fruit>)转换为Enumeration<Fruit>:
List<Fruit> fruits = new ArrayList<>();
fruits.add(new Fruit());
Enumeration<Fruit> fruitEnumeration = Collections.enumeration(fruits);
【解决方案2】:
您可以使用Collections.enumeration() 将Collection<T>(包括List<T>)转换为Enumeration<T>。一个例子(公然从here窃取):
package com.tutorialspoint;
import java.util.*;
public class CollectionsDemo {
public static void main(String args[]) {
// create an ArrayList
List arrayList = new ArrayList();
// populate the list
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
// create an Enumeration
Enumeration e = Collections.enumeration(arrayList);
System.out.println("Printing the enumeration:");
while (e.hasMoreElements()) {
System.out.println("Value is: " + e.nextElement());
}
}
}