我想创建一个类似于Util.Map.Entry的新项目,该项目将包含结构键,值
问题是我无法实例化Map.Entry,因为它是一个接口
有人知道如何为Map.Entry创建新的通用键/值对象吗
这里有公共静态类AbstractMap.SimpleEntry<;K、 V>。不要让名字的抽象部分误导你:它实际上不是抽象类(但它是顶级的AbstractMapis)
事实上,它是一个静态嵌套类,这意味着不需要一个封闭的抽象映射实例来实例化它,因此类似这样的编译很好:
地图条目<;字符串,整数>;入口=
新的AbstractMap.SimpleEntry<;字符串,整数>;(“示例字符串”,42);
如另一个答案所述,番石榴还有一个方便的静态工厂方法映射。您可以使用的不可变条目
你说:
我不能使用
Map.Entry本身,因为它显然是一个只读对象,我不能实例化新的instanceof
这并不完全准确。无法直接实例化它(即使用new)的原因是因为它是接口映射。条目
警告和提示
如文档中所述,AbstractMap.SimpleEntry是从1.6开始的,因此如果您坚持使用5.0,那么它对您不可用
要查找另一个实现Map.Entry的已知类,实际上可以直接转到javadoc。从Java 6版本
接口映射项
所有已知的实现类:
不幸的是,1.5版本没有列出任何您可以使用的已知实现类,因此您可能无法实现自己的类