我有一个简单的收藏问题。我有一个Set<String>对象。我想要一个Enumeration<String>的的String中,且s Set。我需要一个,Enumeration<String>因为我要覆盖专门返回的方法Enumeration<String>。最干净/最好的方法是什么?
Set<String>
Enumeration<String>
String
Set
编辑:无需编写自己的(尽管为了后代,我将在下面保留实现)-请参见Kevin Bourrillion在JDK中的答案。
如果您 确实 需要枚举,可以使用:
Enumeration<String> x = new Vector(set).elements();
Iterable<E>如果可能的话,最好使用…
Iterable<E>
更好的选择是在周围编写一个小型包装器类Iterator<E>。这样一来,您不必为了发现以下内容而进行复制Enumeration<E>:
Iterator<E>
Enumeration<E>
import java.util.*; class IteratorEnumeration<E> implements Enumeration<E> { private final Iterator<E> iterator; public IteratorEnumeration(Iterator<E> iterator) { this.iterator = iterator; } public E nextElement() { return iterator.next(); } public boolean hasMoreElements() { return iterator.hasNext(); } } public class Test { public static void main(String[] args) { Set<String> set = new HashSet<String>(); Enumeration<String> x = new IteratorEnumeration<String>(set.iterator()); } }