Ich frage mich, warum java.util.ArrayListman das hinzufügen darf null. Gibt es einen Fall , wo ich möchte hinzufügen , nullum ein ArrayList?
Ich stelle diese Frage, weil wir in einem Projekt einen Fehler hatten, bei dem Code hinzugefügt wurde null, ArrayListund es schwierig war, zu erkennen, wo der Fehler war. Offensichtlich wurde ein NullPointerExceptiongeworfen, aber nicht, bis ein anderer Code versuchte, auf das Element zuzugreifen. Das Problem bestand darin, den Code zu finden, der das nullObjekt hinzugefügt hat . Es wäre einfacher gewesen, ArrayListeine Ausnahme im Code auszulösen, in dem die Elemente hinzugefügt wurden.
nulldie 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.
nullist. "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 nulldarstellt, 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.
nullin den meisten ihrer Sammlungen nicht).