Je me demande pourquoi java.util.ArrayList
permet d'ajouter null
. Y a-t-il un cas où je voudrais ajouter null
à un ArrayList
?
Je pose cette question parce que dans un projet, nous avions un bogue qui ajoutait du code null
à la ArrayList
et il était difficile de localiser la bogue. De toute évidence, un a NullPointerException
été lancé, mais pas avant qu'un autre code ait tenté d'accéder à l'élément. Le problème était de savoir comment localiser le code qui a ajouté l' null
objet. Il aurait été plus facile de ArrayList
créer une exception dans le code où les éléments étaient ajoutés.
null
c'est le moyen par défaut de représenter les données manquantes en Java, que cela vous plaise ou non. En fait, beaucoup de gens ne l'aiment pas et en font un argument pour des choses fonctionnelles de style programmation. La réponse la plus élevée n'a aucun sens / ne rend pas l'essence du problème.
null
est. "Missing" n’est que l’une des interprétations possibles de null
. Les autres interprétations valides pourraient être «inconnu», «non applicable» ou «non initialisé». Ce qui null
dépend dépend de l'application. Comme dirait la communauté Python, "face à l'ambiguïté, refusez la tentation de deviner". Refuser de conserver la valeur null dans un conteneur parfaitement capable de le faire ne serait que cela - une supposition.
null
dans la plupart de leurs collections).