non sono sicuro che NULL identifichi una stringa "".
Come ha detto LeleFT, non è inizializzato...(in java si da per scontato, ma si intede un "puntatore" non inizializato, è qui il problema)
Quindi null praticamente dicecodice:String stringa; //si avverte il compilatore che esisterà una variabile di nome stringa //di tipo String, ma non esiste nessun spazio di memoria ancora //associato a "stringa", //quindi è nullo. stringa = ""; //stringa sarà un "puntatore"(impliciti in java) ad una zona di //memoria che conterrà il valore "", identificato col nome stringa
"per ora non esiste, ma ti avverto che esisterà"
e la memoria verrà allocata alla prima inizializzazione.
Un tipico errore causato dall'utilizzo errato di null è il NullPointerException, ovvero puntatore nullo, puntatore a memoria non allocata, non inizializzata appunto.
in questo caso c'è un NullPointerException, dato che si vuole guardare se il valore di str è "", ma il valore è nullo, appunto, il valore non esiste ancora, bisogna appena allocare la memoria sufficiente a contenere un eventuale valore futurocodice:String str = null; str.equals("");.
![]()

.
Rispondi quotando