Kann ein String
ein Parameter für eine Methode sein?
Ja, eine Stringreferenz ist oft ein 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.");
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. |
(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;
a
?b
?