我需要创建一个java.util.Enumeration
个Fruit对象,以便在测试期间将其传递给此方法。这是遗留代码,我无法更改方法签名。
public void get(Enumeration<Fruit> fruits){}
我的水果班:
public class Fruit{
String name;
//getters and setters
}
如何创建水果对象的枚举?
答案 0 :(得分:9)
您可以使用Collections.enumeration(Collection<T>)
方法将集合(例如List<Fruit>
)转换为Enumeration<Fruit>
:
List<Fruit> fruits = new ArrayList<>();
fruits.add(new Fruit());
Enumeration<Fruit> fruitEnumeration = Collections.enumeration(fruits);
答案 1 :(得分:1)
您可以使用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());
}
}
}