Junior — Middle
Qual è la differenza tra l'uso del metodo equals e l'operatore == nel confrontare oggetti in Java?
sobes.tech AI
Risposta dell'AI
In Java, l'operatore == confronta i riferimenti agli oggetti, cioè verifica se due variabili puntano allo stesso oggetto in memoria. Il metodo equals() è destinato a confrontare il contenuto degli oggetti, cioè la loro uguaglianza logica.
Ad esempio, per le stringhe:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, oggetti diversi
System.out.println(a.equals(b)); // true, contenuto uguale
Importante: la classe deve ridefinire il metodo equals() affinché il confronto per contenuto funzioni correttamente. Se equals() non è ridefinito, si comporta di default come == (confronta i riferimenti).