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

问题是我不能实例化Map.Entry,因为它是一个接口.

有人知道如何为Map创建新的通用键/值对象吗.进入

推荐答案

您可以自己实现Map.Entry<K, V>接口:

import java.util.Map;

final class MyEntry<K, V> implements Map.Entry<K, V> {
    private final K key;
    private V value;

    public MyEntry(K key, V value) {
        this.key = key;
        this.value = value;
    }

    @Override
    public K getKey() {
        return key;
    }

    @Override
    public V getValue() {
        return value;
    }

    @Override
    public V setValue(V value) {
        V old = this.value;
        this.value = value;
        return old;
    }
}

然后使用它:

Map.Entry<String, Object> entry = new MyEntry<String, Object>("Hello", 123);
System.out.println(entry.getKey());
System.out.println(entry.getValue());

Java相关问答推荐

Android -如何修复Java.time.zone. ZoneRulesExcept:未知时区ID:Europe/Kyiv

具有额外列的Hibert多对多关系在添加关系时返回NonUniqueHealthExcellent

CSS应用于一个端点,但不应用于Thymeleaf中的另一个端点

对运行在GraalVM-21上的JavaFX应用程序使用分代ZGC会警告不支持JVMCI,为什么?

Java FX中的河内之塔游戏-在游戏完全解决之前什么都不会显示

SpringBootreact 式Web应用程序的Spring Cloud Configer服务器中的资源控制器损坏

Java中实现的归并排序算法给出ArrayIndexOutOfBound异常

JPanel透支重叠的JComcoBox

在Spring Boot中使用哪个Java类来存储创建时间戳?

Java中将文本拆分为数字或十进制数字和字符串

继续收到错误SQLJDBC EXCEPTION执行";org.springframework.dao.InvalidDataAccessResourceUsageException:&

如果第一位数字和最后一位数字相差超过一位,您将如何获得随机数?

RestTemplate Bean提供OkHttp3ClientHttpRequestFactory不支持Spring Boot 3中的请求正文缓冲

Java System.getProperty在哪里检索user.home?

Bash数组的单引号元素并使用空格连接

为什么Spring要更改Java版本配置以及如何正确设置?

如何使用我的RLE程序解决此问题

获取月份';s在java中非UTC时区的开始时间和结束时间

在输入端没有可行的替代方案'; Select *';

将Optionals/null安全添加到嵌套的flatMap/流