Codezeile: | OK | Nicht OK |
---|---|---|
String zeile = "Der Himmel war wie ein Wassertropfen"; | X | |
String a = zeile.toLowerCase(); | X | |
String b = toLowerCase( zeile ); | X | |
String c = toLowerCase( "IM SCHATTEN von THORN"); | X | |
String d = "Klar, Ruhig, Schoen".toLowerCase(); | X | |
System.out.println( "Finster, verlassen...".toLowerCase() ); | X |
Die "OK" Antwort für die letzten zwei Zeilen könnte Euch überrascht haben, aber diese Zeilen sind korrekt (wenn auch vielleicht nicht allzu sinnvoll). Hier ist warum:
String d = "Klar, Ruhig, Schoen".toLowerCase(); ----------+-------- -----+--- | | | | | | | Zuerst: ein temporäres | | Stringobjekt wird erzeugt, | | das diese Zeichen enthält. | | | | Danach: die toLowerCase() Methode des temporären Objekts wird aufgerufen. Letzlich: die Referenz auf das zweite Sie erzeugt ein zweites Objekt Objekt wird der Variablen mit lauter Kleinbuchstaben. d zugewiesen.
Das temporäre Objekt
(unter Verwendung der nur für Strings gültigen Kurznotation)
wird als Basis für das zweite Objekt verwendet.
Die Referenz auf das zweite Objekt wird der Variablen d
zugewiesen.
Betrachten wir jetzt die letzte Anweisung:
System.out.println( "Finster, verlassen...".toLowerCase() );
Ein String wird konstruiert (unter Verwendung der nur für Strings gültigen Kurznotation).
Dann wird ein zweiter String konstruiert (durch die toLowerCase()
Methode).
Der zweite String wird als ein Parameter für println()
verwendet.
Beide Stringobjekte sind temporär.
Rückblick: