Junior
La ce sunt folosite metodele equals() și toString() în Java?
sobes.tech AI
Răspuns de la AI
- equals(): Compară două obiecte pentru egalitatea conținutului. În mod implicit, Object.equals() compară referințele (echivalent cu
==). La redefinire, trebuie respectat contractul: reflexivitate, simetrie, tranzitivitate, coerență, și pentru un x nenul, x.equals(null) trebuie să fie false. - toString(): Returnează reprezentarea sub formă de șir de caractere a obiectului. În mod implicit, pentru Object, este numele clasei + hash-code. Redefinirea asigură informații utile despre obiect pentru jurnalizare, depanare sau afișare.
Exemplu de redefinire:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
name.equals(person.name);
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}