创建对象的枚举

时间:2015-08-07 18:54:22

标签: java enumeration legacy

我需要创建一个java.util.Enumeration个Fruit对象,以便在测试期间将其传递给此方法。这是遗留代码,我无法更改方法签名。

public void get(Enumeration<Fruit> fruits){}

我的水果班:

public class Fruit{
    String name;
    //getters and setters   
}

如何创建水果对象的枚举?

2 个答案:

答案 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());
       }
   }    
}
相关问题