问题描述
我使用 DefaultMutableTreeNode
,它有方法 depthFirstEnumeration()
, breadthFirstEnumeration( )
和 children()
返回树节点的 Enumeration
。
I work with DefaultMutableTreeNode
, and it has methods depthFirstEnumeration()
, breadthFirstEnumeration()
and children()
that return Enumeration
of tree nodes.
我需要多次使用返回的 Enumeration
,但我找不到像 reset这样的方法( )
in Enumeration
。看起来我只能获取所有元素一次,然后再次调用 depthFirstEnumeration()
以获得新的枚举
,它似乎不是一个好的解决方案。
I need to use the returned Enumeration
multiple times, but I can't find any method like reset()
in Enumeration
. It seems like I only can get all the elements just once, and then call depthFirstEnumeration()
again to get new Enumeration
, it seems not to be a good solution.
当然,我可以从 Enumeration
中获取所有元素,将它转换为任何其他可重用的表示形式,但是真的有一种方法可以多次使用枚举
吗?
Of course, I can get all the elements from Enumeration
and convert it to any another reusable representation, but is there really a way to use Enumeration
multiple times?
推荐答案
使用 Enumeration
是不可能的。关于这个主题,java doc说:
No that is not possible with Enumeration
. On this subject, java doc says:
注意一次,这意味着如果你想操纵 Enumeration
作为列表然后你将不得不转换它。
您可以在第一次请求枚举
时创建一个列表。这样你就可以随意使用和操作它。
Notice the one at a time which means that if you want to manipulate the Enumeration
as a list then you will have to convert it.You can create a List when you first request the Enumeration
. This way you could use and manipulate it however you wish.
Enumeration e = ...
ArrayList aList = Collections.list(e);
这篇关于Java:多次使用Enumeration的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!