将枚举<T>视为迭代器<T>

2022-09-03 03:22:05

我有一个实现接口的类,但是Java的foreach循环需要接口。Java的标准库中是否有 to Adapter?Enumeration<T>Iterator<T>EnumerationIterator


答案 1

如果你只是想在for-each循环中迭代一些东西(所以迭代器而不仅仅是迭代器),那么总是有(不使用任何外部库)。java.util.Collections.list(Enumeration<T> e)


答案 2

您需要一个所谓的“适配器”,以适应原本不兼容的。Apache commons-collections有ExpencionIterator。用法是:EnumerationIterator

Iterator iterator = new EnumerationIterator(enumeration);