zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

  public boolean equals( Object other )
  {
    return name.equals( other.getName() );
  }

Hier gibt es einen Fehler getName() ist keine Methode von Object.


Es muss die richtige Methode überschrieben werden

Ihr mögt Euch fragen warum die Methode nicht so geschrieben wurde:

  public boolean equals( Entry other )
  {
    return name.equals( other.getName() );
  }

Das ist eine korrekte Methode, aber sie überschreibt nicht die Methode equals(Object). Die Typen der Parameter stimmen nicht überein. Um indexOf() zu verwenden, muss die Methode equals(Object) überschreiben:

int indexOf(Object element)
// Suche nach dem ersten Vorkommen von
// element, Prüfung auf Gleichheit
// mit der Methode equals(Object) von element.

Frage 25:

Wird das Folgende funktionieren für equals(Object) ?

class Entry
{
  . . . . .

  public boolean equals( Object other )
  {
    return getName().equals( ((Entry)other).getName() );
  }

  . . . . .
}

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite