Zastanawiam się, dlaczego java.util.ArrayListpozwala to dodać null. Czy jest jakiś przypadek, w którym chciałbym dodać nulldo ArrayList?
Zadaję to pytanie, ponieważ w projekcie mieliśmy błąd, gdzie niektóre kod został dodając nulldo ArrayListi trudno było dostrzec, gdzie był błąd. Oczywiście NullPointerExceptionwyrzucono a, ale dopóki inny kod nie próbował uzyskać dostępu do elementu. Problem polegał na tym, jak zlokalizować kod, który dodał nullobiekt. Byłoby łatwiej, gdyby ArrayListwrzucił wyjątek w kodzie, w którym dodawano elementy.
nulljest to domyślny sposób reprezentowania brakujących danych w Javie, czy ci się to podoba, czy nie. W rzeczywistości wielu ludziom się to nie podoba i argumentuje to za funkcjonalnymi rzeczami w stylu programowania. Najbardziej pozytywna odpowiedź nie ma sensu / nie oddaje istoty problemu.
nulljest. „Brak” to tylko jedna z kilku potencjalnych interpretacji null. Inne prawidłowe interpretacje mogą być „Nieznane”, „Nie dotyczy” lub „Niezainicjowane”. To, co nullreprezentuje, zależy od aplikacji. Jak powiedzieliby społeczność Python: „W obliczu dwuznaczności odmów pokusy zgadywania”. Odmowa trzymania wartości null w pojemniku, który jest w stanie to zrobić, byłaby tylko - zgadnij.
nullna większość swoich kolekcji).