0
Ich arbeitete an Java8 und fand Kollektor ist fehlgeschlagen, wenn ich Null in hashmap verwenden.Java 8 Map schlägt für Nullwerte fehl
Ich bekomme Nullzeiger Ausnahme. Meine Abfrage ist, wenn Hash-Map Null-Werte erlaubt, warum ich hier null Zeiger bekomme.
public class Test {
public static void main(String[] args) {
HashMap<String, String> m = new HashMap<>();
m.put("abc", null);
m.entrySet().parallelStream().collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue()));
}
}
Dieses Verhalten von 'toMap' sollte wahrscheinlich im Javadoc geklärt werden. Es gibt einen offenen Fehler in JBS: https://bugs.openjdk.java.net/browse/JDK-8148463 –
Nur als eine Randnotiz, verwenden Sie nicht 'parallelStream()' gedankenlos. Für kleine Sammlungen und/oder einfache Aufgaben ist es viel langsamer als ein sequenzieller Stream. Und das Sammeln einer einzelnen Elementkarte in einer anderen Karte ist eine solche Aufgabe, bei der Parallelverarbeitung keinen Sinn ergibt ... – Holger