Интересно, почему java.util.ArrayList
позволяет добавить null
. Есть ли какой-либо случай, когда я хотел бы добавить null
к ArrayList
?
Я задаю этот вопрос , потому что в проекте мы имели ошибку , когда некоторый код добавлял null
к , ArrayList
и это было трудно определить , где ошибка была. Очевидно, что NullPointerException
был брошен, но только когда другой код попытался получить доступ к элементу. Проблема заключалась в том, как найти код, который добавил null
объект. Было бы проще, если ArrayList
бы в коде было исключение, где добавлялись элементы.
null
способ представления отсутствующих данных в Java по умолчанию, нравится вам это или нет. На самом деле многим это не нравится, и они делают это аргументом в пользу функционального стиля программирования. Ответ с наибольшим количеством голосов не имеет смысла / не отражает суть проблемы.
null
есть. «Отсутствует» - это лишь одна из нескольких возможных интерпретаций null
. Другими действительными интерпретациями могут быть «Неизвестно», «Не применимо» или «Неинициализировано». Что null
представляет, зависит от приложения. Как сказал бы сообщество Python: «Перед лицом двусмысленности откажитесь от соблазна гадать». Отказ удерживать значение NULL в контейнере, который вполне способен на это, был бы только предположением.
null
в большинстве их коллекций).