本文介绍了Java:多次使用Enumeration的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-26 20:11