Ich frage mich, warum java.util.ArrayList
man das hinzufügen darf null
. Gibt es einen Fall , wo ich möchte hinzufügen , null
um ein ArrayList
?
Ich stelle diese Frage, weil wir in einem Projekt einen Fehler hatten, bei dem Code hinzugefügt wurde null
, ArrayList
und es schwierig war, zu erkennen, wo der Fehler war. Offensichtlich wurde ein NullPointerException
geworfen, aber nicht, bis ein anderer Code versuchte, auf das Element zuzugreifen. Das Problem bestand darin, den Code zu finden, der das null
Objekt hinzugefügt hat . Es wäre einfacher gewesen, ArrayList
eine Ausnahme im Code auszulösen, in dem die Elemente hinzugefügt wurden.
null
die Standardmethode ist, um fehlende Daten in Java darzustellen, egal ob Sie möchten oder nicht. Tatsächlich mögen es viele Leute nicht und machen es zu einem Argument für Dinge im funktionalen Programmierstil. Die am besten bewertete Antwort ergibt keinen Sinn / erfasst nicht das Wesentliche des Problems.
null
ist. "Missing" ist nur eine von mehreren möglichen Interpretationen von null
. Andere gültige Interpretationen können "Unbekannt", "Nicht anwendbar" oder "Nicht initialisiert" sein. Was null
darstellt, hängt von der Anwendung ab. Wie die Python-Community sagen würde: "Weigern Sie sich angesichts der Mehrdeutigkeit, die Versuchung zu erraten." Es wäre nur eine Vermutung, sich zu weigern, null in einem Behälter zu halten, der dazu in der Lage ist.
null
in den meisten ihrer Sammlungen nicht).