zur vorherigen Seite  zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Wenn die erste Hälfte des Ausdrucks true ist, dann kann der gesamte Ausdruck

telefonbuch[ j ] != null && telefonbuch[ j ].getName().equals( targetName )

entweder true oder false sein.


Vollständige suchen() Methode

  TelefonEintrag suchen( String targetName )
  {
    for ( int j=0; j < telefonbuch.length; j++ )
    {
      if ( telefonbuch[ j ] != null && telefonbuch[ j ].getName().equals( targetName ) )
        return telefonbuch[ j ];
    }

    return null;
  }

Ihr könntet Euch bei diesem Ausdruck unkomfortabel fühlen (klickt mehrmals mit der Maus für weitere Unterstützung):

  telefonbuch[ j ].name.equals( targetName )

Betrachten wir ihn Stück für Stück:

Weitere Verzwicktheit: Beachtet, dass die Methode eine Referenz auf ein Objekt zurückgibt:

public TelefonEintrag suchen( String targetName )

Es ist ausgezeichnet für eine Methode eine Referenz auf ein Objekt zurückzugeben. Diese Referenz kann dann verwendet werden, um eine der Methoden des Objekts aufzurufen.

Das ist kompliziert. Wenn Ihr Euch noch immer unbehaglich fühlt, macht Euch deswegen keine allzu großen Gedanken. Lest in Ruhe den Code und die Erklärungen noch einmal durch und macht dann weiter.


FRAGE 14:

Ergibt der Ausdruck

targetName.equals( telefonbuch[ j ].getName() )

den gleichen Wert wie

telefonbuch[ j ].getName().equals( targetName )

zur vorherigen Seite  zum Inhaltsverzeichnis   zur nächsten Seite