据我了解,似乎没有直接获取a
Enumeration
的键的直接方法HashMap
。我只能得到一个keySet()
。从中Set
我可以得到一个,Iterator
但一个Iterator
似乎不同于一个Enumeration
。
Enumeration
从a的键直接获取a的最佳和最有效的方法是HashMap
什么?
背景:我正在实现自己的ResourceBundle(=>
getKeys()
方法),并且必须提供/实现一种返回所有键的枚举的方法。但是我的实现是基于A的,HashMap
因此我需要以某种方式找出如何在这两种“迭代器/枚举器”技术之间进行最佳转换。
Apache commons-
collections
有一个适配器,可以Iterator
像一样使用Enumeration
。看一下IteratorEnumeration。
使Iterator实例看起来像是Enumeration实例的适配器
简而言之,您可以执行以下操作:
Enumeration enumeration = new IteratorEnumeration(hashMap.keySet().iterator());
或者,如果您(出于某种原因)不想包括commons-collection,则可以自己实现此适配器。这很容易-
只需实现实现Enumeration
,将Iterator
in
传递给构造函数,然后在每次调用和时hasMoreElements()
,nextElement()
都在基础上调用hasNext()
and
。next()``Iterator
如果您Enumeration
因某些API合同而被迫使用(我假设是这样),请使用此选项。否则使用Iterator
-这是推荐的选项。
本文向大家介绍Java获取枚举的值,包括了Java获取枚举的值的使用技巧和注意事项,需要的朋友参考一下 示例 每个枚举类都包含一个名为的隐式静态方法values()。此方法返回一个包含该枚举的所有值的数组。您可以使用此方法遍历值。重要的是要注意,此方法每次调用时都会返回一个新数组。 如果需要,Set也可以使用EnumSet.allOf(Day.class)。
问题内容: 我定义了以下枚举 现在的印刷价值是 相反,我想打印枚举的值 要实现此功能可以做些什么? 问题答案: 您正在打印枚举 对象 。如果只想打印该属性,请使用该属性: 请参阅 对枚举成员及其属性 的 编程访问权限 部分 : 如果您有枚举成员并需要其名称或值: 如果只需要提供自定义字符串表示形式,则可以向枚举添加方法: 演示:
是否可以使用枚举来定义键?(映射返回int String、Object。但这不是问题的一部分) 谢谢你的帮助。
问题内容: 我遇到了这个问题,我不知道需要迭代其实际值的实际类型。 任何想法如何从enumValue中提取其可能的值? 问题答案:
我应该工作,对吧?但它不是!!!!它告诉我dbValue可以转换为RelationActiveEnum...
问题内容: 我有一个枚举,看起来像: 我有一个看起来像的测试班 输出为: 代替 我不确定这里出什么问题了吗?? 问题答案: 您需要 重写枚举的方法: