为了账号安全,请及时绑定邮箱和手机立即绑定

从 Map 条目初始化 Map<String, Object> 实例

从 Map 条目初始化 Map<String, Object> 实例

潇潇雨雨 2022-06-04 15:43:45
假设我有一些这样的地图条目:var a = Map.entry("a", new Object());var b = Map.entry("b", new Object());var c = Map.entry("c", new Object());var m = Map.of(a,b,c);  // error here我收到此错误:无法解析方法“(java.util.Map.Entry,java.util.Map.Entry,java.util.Map.Entry)”我只想从地图中的条目制作一个新地图,我该怎么做?问题不是专门关于如何在给定 Map.Entry 实例的情况下初始化 Map 。
查看完整描述

3 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

从 jdk-9 开始,您可以使用键值对Map.of()来创建Map


Map<String, Object> map = Map.of("a", new Object(), "b", new Object(), "c", new Object());

并且还通过使用SimpleEntry


Map<String, Object> map = Map.ofEntries(

  new AbstractMap.SimpleEntry<>("a", new Object()),

  new AbstractMap.SimpleEntry<>("b", new Object()),

  new AbstractMap.SimpleEntry<>("c", new Object()));

或者通过使用Map.ofEntriesOP 建议


查看完整回答
反对 回复 2022-06-04
?
aluckdog

TA贡献1847条经验 获得超7个赞

简单的答案是:


var a = Map.entry("a", new Object());

var b = Map.entry("b", new Object());

var c = Map.entry("c", new Object());


var m = Map.ofEntries(a,b,c);  // ! use Map.ofEntries not Map.of

如果你想知道的话,类型Map.entry(key,val)是Map.Entry<K,V>。


查看完整回答
反对 回复 2022-06-04
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

代替

Map.of(a,b,c);

Map.ofEntries(a,b,c);

如果您仍想使用Map.of(),则应显式粘贴键和值。

Map.Entry()返回一个Map.Entry包含给定键和值的不可变对象。这些条目适用于使用该 Map.ofEntries()方法填充 Map 实例。

何时使用Map.of()以及何时使用Map.ofEntries()


查看完整回答
反对 回复 2022-06-04
  • 3 回答
  • 0 关注
  • 281 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信