猿问

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

假设我有一些这样的地图条目:


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 。


潇潇雨雨
浏览 285回答 3
3回答

素胚勾勒不出你

从 jdk-9 开始,您可以使用键值对Map.of()来创建MapMap<String, Object> map = Map.of("a", new Object(), "b", new Object(), "c", new Object());并且还通过使用SimpleEntryMap<String, Object> map = Map.ofEntries(&nbsp; new AbstractMap.SimpleEntry<>("a", new Object()),&nbsp; new AbstractMap.SimpleEntry<>("b", new Object()),&nbsp; new AbstractMap.SimpleEntry<>("c", new Object()));或者通过使用Map.ofEntriesOP 建议

aluckdog

简单的答案是: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);&nbsp; // ! use Map.ofEntries not Map.of如果你想知道的话,类型Map.entry(key,val)是Map.Entry<K,V>。

慕标琳琳

代替Map.of(a,b,c);和Map.ofEntries(a,b,c);如果您仍想使用Map.of(),则应显式粘贴键和值。Map.Entry()返回一个Map.Entry包含给定键和值的不可变对象。这些条目适用于使用该&nbsp;Map.ofEntries()方法填充 Map 实例。何时使用Map.of()以及何时使用Map.ofEntries()
随时随地看视频慕课网APP

相关分类

Java
我要回答