gpt4 book ai didi

java - 将 Map 转换为派生类

转载 作者:行者123 更新时间:2023-11-29 03:58:41 25 4
gpt4 key购买 nike

我有以下类(class):

class DerivedMap extends Hashmap<String,Object>
{}

我使用它是因为我想为这种类型的 map 实现一些自定义操作。

然后我将此类的实例传递给需要 Map 的外部 api,这自然很好。

问题是我还从 api 获取 Map 实例作为返回值。由于真实对象隐藏在 api 选择的接口(interface)后面,我知道我不能直接转换它。

那么,如何将 Map 转换为我的自定义 DerivedMap?我必须手动复制所有键/值吗?

谢谢。

最佳答案

你可以像这样创建一个构造函数:

class DerivedMap extends HashMap<String, Object> {
public DerivedMap(Map<String, Object> map) {
super(map);
}
}

然后从 Map 创建一个 DerivedMap,如下所示:

derivedMap = new DerivedMap(otherMap);

super(map) 调用HashMap 构造函数,将参数映射的所有映射复制到新创建的映射。来自文档:

Constructs a new HashMap with the same mappings as the specified Map.

关于java - 将 Map<T> 转换为派生类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4838037/

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