Kann ein String
ein Parameter für eine Methode sein?
Ja, eine Stringreferenz ist oft ein Parameter.
Manche Methoden benötigen einen Parameter, der eine Referenz auf ein Stringobjekt enthält. Zum Beispiel,
String stringA = "Zufaellige Notizen"; String stringB = "Lyrische Balladen"; if ( stringA.equals( stringB ) ) System.out.println("Die Strings sind gleich."); else System.out.println("Die Strings sind verschieden.");
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, könnte aber zu Mißverständnissen führen.
Es wird oft vereinfacht von einem "String" gesprochen, wenn eigentlich eine "Referenz auf einen String" gemeint ist.
Das ist OK.
Denken Sie 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) sehe häufig Studenten, die nicht sorgfältig damit sind und
später Probleme haben.
Was gewöhnlich gesagt wird | Tatsächliche Bedeutung |
---|---|
Die equals() Methode von stringA
wird mit stringB aufgerufen. |
Die equals() Methode des Strings, der durch
stringA referenziert wird,
wird mit einer Referenz auf stringB aufgerufen. |