Convert Map<Integer, String> to Map<String, String>

Jigar Naik :

I want to convert Map to Map

So far i tried below

Map<Integer, String> inMap = new HashMap();
        inMap.put(100, "Test1");
        inMap.put(101, "Test2");
        inMap.put(102, "Test3");

How do i apply String.valueOf() on Entry::getKey?

    Map<String, String> collect = inMap.entrySet().stream().collect(Collectors.toMap(Entry::getKey, Entry::getValue));  //how to apply String.valueOf() on Entry::getKey

This is working

    Map<String, String> map1 = inMap.entrySet().stream().collect(Collectors.toMap(entry -> String.valueOf(entry.getKey()), Map.Entry::getValue, (a, b) -> b)); //Working

why String.valueOf(entry.getKey()), entry.getValue() does not work even though its biFunctional?

    Map<String, String> map2 = inMap.entrySet().stream().collect(Collectors.toMap(entry -> String.valueOf(entry.getKey()), entry.getValue()));  //
Deadpool :

You can also use toString() Because in all wrapper classes toString() is overridden to return value

 Map<String, String> collect = inMap.entrySet()
                                    .stream()
                                    .collect(Collectors.toMap(entry->entry.getKey().toString(), Entry::getValue));

Guess you like

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