NullPointerException utili
La JVM indica automaticamente quale variabile era null.
Confronto Codice
✕ Java 8
// Old NPE message: // "NullPointerException" // at MyApp.main(MyApp.java:42) // Which variable was null?!
✓ Java 14+
// Modern NPE message: // Cannot invoke "String.length()" // because "user.address().city()" // is null // Exact variable identified!
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Variabile esatta
Il messaggio nomina la variabile null nella catena.
Debug più veloce
Non serve più indovinare quale delle 5 chiamate concatenate era null.
Aggiornamento gratuito
Nessuna modifica al codice — basta eseguire su JDK 14+.
Approccio Vecchio
NPE criptiche
Approccio Moderno
NPE dettagliate
Dal JDK
14
Difficoltà
Principiante
Supporto JDK
NullPointerException utili
Disponibile
Ampiamente disponibile dal JDK 14 (marzo 2020)
Come funziona
Le NPE utili descrivono quale espressione era null e quale operazione è fallita. Sono abilitate per default da Java 14 — nessuna modifica al codice necessaria, basta aggiornare il JDK.
Documentazione Correlata