zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Kann ein String ein Parameter für eine Methode sein?

Antwort:

Ja, eine Stringreferenz ist oft ein Parameter.

Stringreferenzen als Parameter

Manche Methoden erfordern einen Parameter, der eine Referenz auf ein String Objekt ist. Das Beispielprogramm zeigt das.

String stringA = "Random Jottings";
String stringB = "Lyrical Ballads";

if ( stringA.equals( stringB ) )
  System.out.println("Die Strings sind gleich.");
else
  System.out.println("Die Strings sind verschieden.");
Methodenaufruf mit einem Reference Parameter

Die Abbildung zeigt wie der Methodenaufruf funktioniert. (Beide Objekte haben viele Methoden, aber nur die equals() Methode von einem Objekt ist abgebildet.

Der String, der durch stringA referenziert wird, besitzt eine equals() Methode. Diese Methode wird mit einem Parameter aufgerufen, einer Referenz auf stringB. Die Methode überprüft, ob beide Strings die gleichen Zeichen enthalten und wenn ja, gibt sie wahr (true) zurück.

Vorsicht:   Die Aussage des vorherigen Absatzes ist korrekt, aber umständlich. Es wird oft vereinfacht von einem "String" gesprochen, wenn eigentlich eine "Referenz auf einen String" gemeint ist. Das ist OK. Denkt aber daran, dass eine Variable wie stringA kein Objekt ist, sondern eine Referenz auf ein Objekt.

Das mag pingelig scheinen, aber es gibt nichts pingeligeres als einen Computer. Ich (der Autor Bradley Kjell) sehe häufig Studenten, die nicht sorgfältig damit sind und später große Probleme haben.


Der Code Was gewöhnlich gesagt wird Tatsächliche Bedeutung
stringA.equals( stringB ) Die equals() Methode von stringA wird mit stringB aufgerufen. Die equals() Methode des Strings, der durch stringA referenziert wird, wird mit der Referenz von stringB aufgerufen, die wiederum auf den String "Lyrical Ballads" verweist.


FRAGE 3:

(Rückblick:) Wir prüfen den folgenden Codeschnipsel. Beantwortet die Fragen, indem Ihr die Worte sorgfältig wählt (so wie oben).

String a;
Point  b;