Mi chiedo perché java.util.ArrayList
permetta di aggiungere null
. C'è un caso in cui vorrei aggiungere null
a un ArrayList
?
Sto ponendo questa domanda perché in un progetto avevamo un bug in cui un po 'di codice si stava aggiungendo null
al codice ArrayList
ed era difficile individuare dove fosse il bug. Ovviamente è NullPointerException
stato lanciato un ma non fino a quando un altro codice ha tentato di accedere all'elemento. Il problema era come individuare il codice che ha aggiunto l' null
oggetto. Sarebbe stato più semplice se avesse ArrayList
generato un'eccezione nel codice in cui venivano aggiunti gli elementi.
null
il modo predefinito di rappresentare i dati mancanti in Java, che ti piaccia o no. In realtà a molte persone non piace e lo rendono un argomento per cose funzionali in stile programmazione. La risposta più votata non ha senso / non cattura l'essenza del problema.
null
è. "Missing" è solo una delle numerose potenziali interpretazioni di null
. Altre interpretazioni valide potrebbero essere "Sconosciuto", "Non applicabile" o "Non inizializzato". Ciò che null
rappresenta dipende dall'applicazione. Come direbbe la comunità Python, "Di fronte all'ambiguità, rifiuta la tentazione di indovinare". Rifiutare di tenere nulla in un contenitore perfettamente in grado di farlo sarebbe proprio questo: un'ipotesi.
null
nella maggior parte delle loro raccolte).