Quote:
Originariamente inviato da ^TiGeRShArK^
Per conforntare due stringhe devi usare necessariamente il metodo equals o equalsIgnoreCase in caso di serva un confronto non case-sensitive.
Se confronti due stringhe con l'operatore == in realtà stai confrontando il reference dei due oggetti stringa e ovviamente l'indirizzo della variabile body.size è diverso da quello della variabile creata implicitamente che ha come valore "24".
Il metodo corretto è quindi body.size.equals("24").
Se ti lancia una nullpointer allora molto probabilmente in quel momento la variabile size dell'oggetto body non è inizializzata, oppure l'intero oggetto body ha valore null.
Quindi controlla il tuo programma perchè sicuramente hai un errore di logica che si presenta al run-time oltre all'errore concettuale del confronto fra stringhe.
|
Giusto mi hai fatto venire in mente una cosa....io ho anche dei valori nulli in mezzo quindi prima devo fare
if (body.size!=null)
poi dentro ci metto l'equlas e funziona....
GRAZIE!!!
Una curiosità quando uso equalsIgnoreCase se io faccio
if(body.testo.equalsIgnoreCase("indice")) lui mi trova indifferentemente Indice INDICE e indice, giusto???
if(body.testo.equalsIgnoreCase("Indice")) se io facessi così sarebbe la stessa cosa vero??? ossia mi trova quei 3 casi...
__________________
CPU Intel i5-4590, Scheda Madre Asrock H97 Pro4, RAM DDR3 Corsair Vengeance 1600MHz 8GB CL9, Hard Disk WD Caviar Blue 1TB, SSD Crucial MX100 256GB.
Ultima modifica di xxdavide84xx : 20-01-2008 alle 14:54.
|