Eu me pergunto por que java.util.ArrayList
permite adicionar null
. Existe algum caso em que eu gostaria de adicionar null
a um ArrayList
?
Estou fazendo essa pergunta porque, em um projeto, tivemos um bug em que algum código estava sendo adicionado null
ao arquivo ArrayList
e era difícil identificar onde estava o erro. Obviamente, um NullPointerException
foi lançado, mas não até outro código tentar acessar o elemento. O problema foi como localizar o código que adicionou o null
objeto. Teria sido mais fácil se houvesse ArrayList
uma exceção no código em que os elementos estavam sendo adicionados.
null
é a maneira padrão de representar dados ausentes em Java, quer você goste ou não. De fato, muitas pessoas não gostam e fazem disso um argumento para coisas funcionais no estilo de programação. A resposta mais votada não faz sentido / não captura a essência do problema.
null
é. "Missing" é apenas uma das várias interpretações possíveis de null
. Outras interpretações válidas podem ser "Desconhecido", "Não aplicável" ou "Não inicializado". O que null
representa depende da aplicação. Como a comunidade Python diria: "Diante da ambiguidade, recuse a tentação de adivinhar". Recusar manter nulo em um contêiner perfeitamente capaz de fazer isso seria apenas isso - um palpite.
null
maioria de suas coleções).