T
tobim1986
Gast
Moin moin,
ich habe mal eine Frage zu den oben genannten Methoden: Wie ich in der Java-Insel gelesen habe, sollten beide Methoden implementiert werden, um Objekte auf Gleichheit zu prüfen.
hashCode() ist ja wichtig um Objekte in einigen Collections wiederzufinden, equals() um die Objekte auf Inhaltsgleichheit zu prüfen.
Als typische Implementierungsbeispiele finde ich für hashCode(), dass die HashCodes der einzelnen Instanzvariablen zusammengerechnet werden.
equals() wird typischerweise implementiert, indem man die einzelnen Instanzvariablen auf Identität prüft.
Warum kann ich equals() nicht folgender maßen implementieren:
Das wäre doch viel kürzer als alle Instanzvariablen einzeln zu überprüfen, oder?
Danke und Gruß
tobim1986
ich habe mal eine Frage zu den oben genannten Methoden: Wie ich in der Java-Insel gelesen habe, sollten beide Methoden implementiert werden, um Objekte auf Gleichheit zu prüfen.
hashCode() ist ja wichtig um Objekte in einigen Collections wiederzufinden, equals() um die Objekte auf Inhaltsgleichheit zu prüfen.
Als typische Implementierungsbeispiele finde ich für hashCode(), dass die HashCodes der einzelnen Instanzvariablen zusammengerechnet werden.
equals() wird typischerweise implementiert, indem man die einzelnen Instanzvariablen auf Identität prüft.
Warum kann ich equals() nicht folgender maßen implementieren:
Java:
public boolean equals(Typ other){
return this.hashCode() == other.hashCode();
}
Das wäre doch viel kürzer als alle Instanzvariablen einzeln zu überprüfen, oder?
Danke und Gruß
tobim1986