Junior
Kam paredzēti metodes equals() un toString() Java valodā?
sobes.tech AI
Atbilde no AI
equals() metode salīdzina pašreizējo objektu ar citu objektu pēc satura vienlīdzības, nevis atsauces. Pēc noklusējuma tas salīdzina atsauces (kā operator ==), bet to var pārrakstīt, lai salīdzinātu objektu laukus.
toString() metode atgriež objekta teksta reprezentāciju. Pēc noklusējuma tā ietver klases nosaukumu un objekta hash kodu, bet bieži tiek pārrakstīta, lai sniegtu informatīvāku attēlojumu, piemēram, objekta lauku vērtības.
Pārrakstīšanas piemērs:
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; // Atsauču salīdzināšana
if (o == null || getClass() != o.getClass()) return false; // Tips un null pārbaude
Person person = (Person) o;
return age == person.age && // Lauku salīdzināšana
name.equals(person.name); // `equals()` izmantošana virkēm
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}