Mit Java 9 wurden neue Fabrikmethoden für die Liste , festgelegt, und map Schnittstellen eingeführt. Diese Methoden ermöglichen es schnell, ein Kartenobjekt mit Werten in einer Zeile zu instanziieren. Wenn wir jetzt betrachten: < /p>
Map map1 = new HashMap(Map.of(1, "value1", 2, "value2", 3, "value3"));
map1.put(4, null);
< /code>
Das obige ist ausnahmslos zulässig, während wir: < /p>
Map map2 = Map.of(1, "value1", 2, "value2", 3, "value3", 4, null );
< /code>
Es ist ausgelöst: < /p>
Exception in thread "main" java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:221)
..
< /code>
Ich bin nicht in der Lage zu bekommen, Warum Null im zweiten Fall nicht zulässig ist. < /p>
Ich weiß, dass Hashmap Null sowohl als Schlüssel als auch als Wert betrachten kann, aber warum war das bei MAP.of eingeschränkt?
Das Gleiche passiert im Fall von java.util.set.of ("v1", "v2", null)
Mit Java 9 wurden neue Fabrikmethoden für die Liste , festgelegt, und map Schnittstellen eingeführt. Diese Methoden [url=viewtopic.php?t=12298]ermöglichen[/url] es schnell, ein Kartenobjekt mit Werten in einer Zeile zu instanziieren. Wenn wir jetzt betrachten: < /p>
Die Frage ist nicht schwierig und ich habe sie bereits auf meine eigene Weise gelöst, aber ich würde gerne Ihre Meinung hören. Vielleicht gibt es eine Möglichkeit, dies zu einer verbesserten Option...
Ich möchte so etwas wie Folgendes machen, aber ich möchte wissen, ob es eine elegantere Möglichkeit gibt, dies ohne die Paarklasse zu tun. Die Paarklasse existiert nicht mehr, also müsste ich meine...
C# 8.0 führte schreibgeschützte-Mitglieder in einer Struktur ein (wie hier erklärt). So können Sie zum Beispiel diese Methode verwenden:
public readonly override string ToString() => $ ({X}, {Y}) is...