Java:多次使用Enumeration
我使用DefaultMutableTreeNode
,它有方法depthFirstEnumeration()
, breadthFirstEnumeration()
和children()
返回树节点的Enumeration
。
我需要多次使用返回的Enumeration
,但是我在Enumeration
找不到像reset()
这样的方法。 看起来我只能获取所有元素一次,然后再次调用depthFirstEnumeration()
以获得新的Enumeration
,它似乎不是一个好的解决方案。
当然,我可以从Enumeration
获取所有元素并将其转换为任何其他可重用表示,但是有多种方法可以多次使用Enumeration
吗?
不, Enumeration
是不可能的。 关于这个主题,java doc说:
实现Enumeration接口的对象生成一系列元素,一次一个。
请注意一次一个,这意味着如果要将Enumeration
作为列表进行操作,则必须转换它。 您可以在第一次请求Enumeration
时创建一个列表。 这样你就可以随意使用和操纵它。
Enumeration e = ... ArrayList aList = Collections.list(e);