Цікаво, чому java.util.ArrayListдозволяє додати null. Чи є випадок, коли я хотів би додати nullдо ArrayList?
Я задаю це питання, тому що в проекті у нас з'явилася помилка, де якийсь код додався nullдо, ArrayListі важко було помітити, де ця помилка. Очевидно, що NullPointerExceptionбуло кинуто, але не до того, як інший код не намагався отримати доступ до елемента. Проблема полягала в тому, як знайти код, який додав nullоб’єкт. Було б простіше, якби ArrayListкинути виняток у код, куди додавали елементи.
nullце за замовчуванням спосіб представлення відсутніх даних на Java, хотіли ви це чи ні. Насправді багатьом це не подобається, і це робить аргументом для функціональних речей у стилі програмування. Відповідь, яка найбільше обґрунтовується, не має сенсу / не відображає суті питання.
nullє. "Відсутній" - лише одне з кількох потенційних тлумачень null. Інші допустимі тлумачення можуть бути "Невідомими", "Не застосовуються" або "Неініціалізованими". Що nullпредставляє, залежить від програми. Як сказало б спільнота Python, "За умови неоднозначності відмовтеся від спокуси здогадатися". Відмова утримувати null у контейнері, який цілком здатний це зробити, було б лише цим - здогадкою.
nullу більшості своїх колекцій).