Kann ein String ein Parameter für eine Methode sein?
Ja, eine Stringreferenz ist oft ein Parameter.
Einige Methoden brauchen einen Parameter, der eine Referenz auf ein Stringobjekt ist. Zum Beispiel,
String stringA = "Zufaellige Notizen";
String stringB = "Lyrische Balladen";
if ( stringA.equals( stringB ) )
System.out.println("Sie sind gleich.");
else
System.out.println("Sie sind verschieden.");
Der String, der durch stringA referenziert wird, hat eine
equals() Methode.
Diese Methode wird mit einem Parameter aufgerufen,
einer Referenz auf stringB.
Die Methode überprüft, ob beide Strings
die gleichen Zeichen enthält und wenn ja,
ergibt sie wahr (gibt true zurück).
Vorsicht:
Die Aussage des vorherigen Absatzes ist korrekt, aber ungünstig.
Leute sagen oft "String", wenn Sie eigentlich "Referenz auf einen String" meinen.
Das ist OK.
Denken Sie aber daran, dass eine Variable wie stringA
kein Objekt ist, sondern eine Referenz auf ein Objekt.
Dies 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. |