Java:多次使用Enumeration

时间:2012-05-05 09:29:54

标签: java enumeration

我与DefaultMutableTreeNode合作,它有方法depthFirstEnumeration()breadthFirstEnumeration()children(),它们返回Enumeration个树节点。

我需要多次使用返回的Enumeration,但我在reset()中找不到Enumeration之类的任何方法。看起来我只能获取所有元素一次,然后再次调用depthFirstEnumeration()以获得新的Enumeration,这似乎不是一个好的解决方案。

当然,我可以从Enumeration获取所有元素并将其转换为任何其他可重用的表示形式,但是有多种方法可以多次使用Enumeration吗?

1 个答案:

答案 0 :(得分:5)

Enumeration无法做到这一点。关于这个主题,java doc说:

  

实现Enumeration接口的对象生成一个系列   元素,一次一个。

请注意一次,这意味着如果您想将Enumeration作为列表操作,则必须转换它。 您可以在第一次请求Enumeration时创建一个列表。这样你可以根据自己的意愿使用和操作它。

Enumeration e = ...
ArrayList aList = Collections.list(e);