Questo è uno degli errori più comuni che si commette quando si utilizza Java da poco tempo. Vediamo un esempio per chiarire il concetto. Supponiamo di istanziare due oggetti di tipo String contenenti entrambi il valore : “Pippo”:
String s1 = new String(“Pippo”);
A questo punto se, in qualche parte del codice, si utilizzerà il blocco:
if(s == s1)
{
…
// NON verrà eseguita questa parte di codice
}
else
{
…
// Verrà eseguita questa parte di codice
}
ci si accorgerà che le istruzioni che verranno eseguite saranno quelle all’interno dell’else