Je me demande pourquoi java.util.ArrayListpermet 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 ArrayListet 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' nullobjet. Il aurait été plus facile de ArrayListcréer une exception dans le code où les éléments étaient ajoutés.
nullc'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.
nullest. "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 nulldé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.
nulldans la plupart de leurs collections).