Problem is that by definition putIfAbsent return old value and not new value (old value for absent is always null). Use computeIfAbsent – this will return new value for you.
private static String get(final String key) {
return map.computeIfAbsent(key, s -> "value 3");
}