Warum erlaubt MAP.OF nicht Nullschlüssel und Werte?Java

Java-Forum
Anonymous
 Warum erlaubt MAP.OF nicht Nullschlüssel und Werte?

Post by Anonymous »

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>

Code: Select all

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) 
und java.util.list.of ("v1", "v2", null) .

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post