Le stringhe non si confrontano con l'operatore ==, ma essendo oggetti si confrontano con il metodo equals():
codice:if(espr.equals(".")){ System.out.println("no"); System.exit(-1);}
Ciao.![]()
Le stringhe non si confrontano con l'operatore ==, ma essendo oggetti si confrontano con il metodo equals():
codice:if(espr.equals(".")){ System.out.println("no"); System.exit(-1);}
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Un IDE "sveglio" potrebbe segnalarti un suo warning, se supportato/attivato.
Ma in generale per il linguaggio Java NON è un errore. Stavi semplicemente confrontando due reference (e questo è lecito). Solo che una stringa letterale, "costante", come "." non sarà mai uguale come reference ad un'altra stringa presa in input a runtime ... anche se contenesse gli stessi caratteri.![]()
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet