Ho due stringhe identiche, una in un array e una in una variabile String. Quando paragono queste stringhe IDENTICHE, ottengo false ogni volta. Ho eseguito il debug e il debug, ma ottengo lo stesso risultato ogni volta. Ecco il codice in questioneIl confronto delle stringhe identiche mi dà il falso
String temp = ""+(num1*num2);
Boolean equal = temp == answers[i];
if(equal) {
correct[i] = true;
num_correct ++;
}else{
correct[i] = false;
}
Anche in questo caso, ho il debug ogni dettaglio minore di questo programma e sono sicuro al 101% che le stringhe sono identiche. Perché Java restituisce false al confronto?
Perché stai usando un valore booleano (classe java) invece che il tipo booleano nativa? Inoltre, perché usare l'operatore == invece del metodo equals()? – SirDarius
Abbiamo bisogno di una lista di dieci domande frequenti, == invece di equals si presenta sempre. –
@Steve Kuo È un'ottima idea. Dovresti suggerirlo su meta se non c'è già. – jdmichal