zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Ja. Die Methode kombiniert verschiedene Schritte in einer Anweisung.


Testprogramm

import java.util.* ;

class Entry
{
  private String name;
  private String number;

  // constructor
  public Entry( String n, String num )
  {
    name = n; number = num;
  }

  // methods
  public String getName()
  {
    return name ;
  }

  public String getNumber()
  {
    return number ;
  }

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

  @Override
  public String toString()
  {
    return "Name: " + getName() + "; Number: " + getNumber() ;
  }

}

public class PhoneBookTest
{
  public static void main ( String[] args)
  {
    ArrayList<Entry> phone = new ArrayList<>();

    phone.add( new Entry( "Amy", "123-4567") );
    phone.add( new Entry( "Bob", "123-6780") );
    phone.add( new Entry( "Hal", "789-1234") );
    phone.add( new Entry( "Deb", "789-4457") );
    phone.add( new Entry( "Zoe", "446-0210") );

    // Look for Hal in phone. The indexOf() method uses the
    // equals(Object) method of each object in the list.

    Entry target = new Entry( "Hal", null );

    int spot = phone.indexOf( target ) ;

    System.out.println( "indexOf returns: " + spot ) ;
  }
}

Diese Überlegungen können verwirrend sein. Hier ist ein Programm, das zeigt wie die Teile zusammenpassen. Wir kopieren dieses Programm in unsere Entwicklungsumgebung und führen es aus:

phone ist eine Liste von Entry-Referenzen. Das Programm durchsucht diese Liste nach "Hal".

Dazu erstellt es einen Ziel-Entry mit dem Namen "Hal", aber null als Telefonnummer. Anschließend sucht die Methode indexOf() von phone nach einer Übereinstimmung.

Die Methode indexOf() verwendet equals(), um aufeinanderfolgende Objekte in der Liste mit dem Zielobjekt zu vergleichen. Da equals() nur den Namen der beiden Einträge berücksichtigt, spielt der null-Wert im Zielobjekt keine Rolle.


Frage 26:

Was wird das Programm ausgeben?


zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite