gpt4 book ai didi

Java - 如何创建新条目(键、值)

转载 作者:bug小助手 更新时间:2023-10-28 10:39:39 25 4
gpt4 key购买 nike

我想创建类似于 Util.Map.Entry 的新项目,它将包含结构 keyvalue

问题是我无法实例化 Map.Entry 因为它是一个接口(interface)。

有谁知道如何为 Map.Entry 创建一个新的通用键/值对象?

最佳答案

public static class AbstractMap.SimpleEntry<K,V> .不要让Abstract部分名称会误导您:它实际上 不是 abstract类(但它的顶级 AbstractMap 是)。

事实上它是 static嵌套类意味着您不要需要一个封闭的 AbstractMap实例来实例化它,所以这样的东西编译得很好:

Map.Entry<String,Integer> entry =
new AbstractMap.SimpleEntry<String, Integer>("exmpleString", 42);

正如另一个答案中所述, Guava 也有一个方便的 static工厂法 Maps.immutableEntry 你可以使用。


你说:

I can't use Map.Entry itself because apparently it's a read-only object that I can't instantiate new instanceof

这并不完全准确。您不能直接实例化它的原因(即使用 new )是因为它是 interface Map.Entry .


注意事项和提示

如文档中所述,AbstractMap.SimpleEntry@since 1.6 ,因此如果您坚持使用 5.0,那么您将无法使用它。

寻找另一个已知的类 implements Map.Entry ,其实你可以直接去javadoc。来自 the Java 6 version

Interface Map.Entry

All Known Implementing Classes:

不幸的是 1.5 version没有列出任何您可以使用的已知实现类,因此您可能一直无法实现自己的实现类。

关于Java - 如何创建新条目(键、值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3110547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com