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