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