Initialize Map<String, Object> instance from Map entries

user1604294 :

Say I have some map entries like so:

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

I get this error:

Cannot resolve method 'of(java.util.Map.Entry, java.util.Map.Entry, java.util.Map.Entry)'

I just want to make a new Map from entries in a map, how can I do this? Not the question is specifically about how to init a Map given Map.Entry instances.

Vishwa Ratna :

Replace

Map.of(a,b,c); 

with

Map.ofEntries(a,b,c);

If you want to still use Map.of() then you shall paste keys and values explicitly.

Map.Entry() returns an immutable Map.Entry containing the given key and value. These entries are suitable for populating Map instances using the Map.ofEntries() method.

When to use Map.of() and when to use Map.ofEntries()

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=36257&siteId=1