私はこのumlダイアグラムを持っており、私は私の友人から持っているコードの一部を理解していません。私は "equals"メソッドを理解していません。何のために使用され、なぜそれを使用する必要がありますか?
これはUMLです: umlダイアグラムのメソッド
しかし、私はコードの一部を理解していません。
このこれまでのコードの一部である:
class Artist {
private String name;
Artist(String name) { // constructor
this.name = name;
}
public String getName() { // name getter
return name;
}
public String toString() { // toString
return name;
}
}
class CD {
private String title;
private Artist name;
CD(String title) {
this.title = title;
}
CD(String title, Artist name) {
this.title = title;
this.name = name;
}
public Artist getArtist() {
return name;
}
public String getTitle() {
return title;
}
public String toString() {
return title + " by " + getArtist();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
CD other = (CD) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (title == null) {
if (other.title != null)
return false;
} else if (!title.equals(other.title))
return false;
return true;
}
}
[この記事の回答](https://stackoverflow.com/questions/15175109/why-do-we-have-to-override-the-equals-method-in-java)をお読みください。 –
Javaでequals()メソッドをオーバーライドする必要があるのはなぜですか?](https://stackoverflow.com/questions/15175109/why-do-we-have-to-override-the-equals-method -in-java) –