Ho un attributo String torna.
Se faccio if(torna=="incrocio){...} non mi dà problemi.
Mentre se faccio if(torna.equals("incrocio") oppure torna.contains("incrocio") mi lancia un eccezione.
Perchè??
Ho un attributo String torna.
Se faccio if(torna=="incrocio){...} non mi dà problemi.
Mentre se faccio if(torna.equals("incrocio") oppure torna.contains("incrocio") mi lancia un eccezione.
Perchè??
Che eccezione?![]()
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
A parte che hai dato un titolo inutile, supponendo che l'eccezione venga sollevata da quelle specifiche righe, ha tutta l'aria di essere una NullPointerException causata dalla String torna non inizializzata, cosa che non causerebbe problemi nel primo caso, ma lo farebbe nel secondo.
Comunque, le stringhe non vanno paragonate con l'operatore ==.
Exception in thread "main" java.lang.NullPointerException
at model.Tessera.calcolaPunteggio(Tessera.java:266)
at model.Main.main(Main.java:122)
anche se inizializzo torna=null mi da lo stesso problema
Originariamente inviato da loma
anche se inizializzo torna=null mi da lo stesso problema![]()
Non ho capito, se hai fatto
mi pare ovvio che si sollevi una NullPointerException.codice:torna = null; if (torna.equals("blabla"))
xkè ovvio?? spiegami please..
Ti consiglio di leggere i primi capitoli di un buon libro sul linguaggio, e soprattutto imparare a consultare le API, in questo caso ad esempio cercando la documentazione di NullPointerException: http://docs.oracle.com/javase/7/docs...Exception.htmlOriginariamente inviato da loma
xkè ovvio?? spiegami please..
Alcune variabili contengono tipi primitivi (int, double ecc...) altre si riferiscono ad oggetti, come String: in questo ultimo caso, la variabile non contiene l'oggetto, ma un riferimento all'oggetto, che inizialmente è null; se dichiari una String, o un qualsiasi altro oggetto, inizialmente avrai solo un riferimento nullo, in realtà non è stato creato nessun oggetto String, quindi non è possibile invocare alcun metodo.
Del resto, se torna non contiene alcuna stringa, che senso ha paragonarlo ad un'altra stringa?![]()
cavolo sono proprio un pir...
Grazie, ma se io ho una stringa null per vedere se è null come devo fare con l'uguale è l'unico metodo o sbaglio??
se devi vedere se è null:Originariamente inviato da loma
cavolo sono proprio un pir...
Grazie, ma se io ho una stringa null per vedere se è null come devo fare con l'uguale è l'unico metodo o sbaglio??
E puoi farlo con qualsiasi altro oggetto.codice:if (s == null)
Il contenuto degli oggetti invece non si fa con == ma col metodo equals.