Saya bertanya-tanya mengapa java.util.ArrayList
memungkinkan untuk menambahkan null
. Apakah ada kasus di mana saya ingin menambahkan null
ke ArrayList
?
Saya mengajukan pertanyaan ini karena dalam sebuah proyek kami memiliki bug di mana beberapa kode ditambahkan null
ke ArrayList
dan sulit untuk menemukan di mana bug itu. Jelas sebuah NullPointerException
dilemparkan tetapi tidak sampai kode lain mencoba mengakses elemen. Masalahnya adalah bagaimana menemukan kode yang menambahkan null
objek. Akan lebih mudah jika ArrayList
melemparkan pengecualian dalam kode tempat elemen ditambahkan.
null
adalah cara default untuk mewakili data yang hilang di Jawa, apakah Anda suka atau tidak. Bahkan banyak orang tidak menyukainya dan menjadikannya argumen untuk hal-hal gaya pemrograman fungsional. Jawaban yang paling banyak dipilih tidak masuk akal / tidak menangkap esensi masalah.
null
itu. "Hilang" hanyalah salah satu dari beberapa interpretasi potensial null
. Interpretasi lain yang valid dapat berupa "Tidak Diketahui," "Tidak Berlaku," atau "Tidak diinisialisasi." Apa yang null
diwakili tergantung pada aplikasi. Seperti yang akan dikatakan komunitas Python, "Di hadapan ambiguitas, tolak godaan untuk menebak." Menolak memegang nol dalam wadah yang benar-benar mampu melakukannya hanya akan menjadi - sebuah tebakan.
null
di sebagian besar koleksi mereka).