Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Ho creato due oggetti contenenti gli stessi valori per ogni proprietà, ma quando eseguo la comparazione tramite l'operatore "==" risulta che essi siano diversi. Come mai?

Ho creato due oggetti contenenti gli stessi valori per ogni proprietà, ma quando eseguo la comparazione tramite l'operatore “==” risulta che essi siano diversi. Come mai?

Ho creato due oggetti contenenti gli stessi valori per ogni proprietà, ma quando eseguo la comparazione tramite l'operatore “==” risulta che essi siano diversi. Come mai?

Link copiato negli appunti

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