Vorlesung Informatik 1 - Teil A: Java Kurs
1.6 Die Klasse String
Standard Klasse im Paket java.lang
Strings sind Zeichenketten, z.B. String name = "Hans"
Besonderheiten:
- Als einzige Klasse besitzt String Literale: "Hallo Welt" "abc" "" sind Objekte vom Typ String
- Deshalb kann man schreiben:
String gross = "HalloWelt".toUpperCase(); - String Objekte sind unveränderlich, d.h. jede Änderung erzeugt ein neues Objekt
- der Operator + hängt Zeichenketten aneinander (konkateniert)
String vorname="Kevin";
String nachname = "Maier"
String name = vorname+" "+nachname; - Konkateniert man Strings und elementare Daten, wird alles nach String gewandelt:
String ausgabe = "Die Antwort ist "+42; - Vorsicht: die Reihenfolge ist wichtig:
int a=4, b=5;
System.out.println(a+"+"+b+"="+a+b); // gibt '4+5=45' aus
System.out.println(a+"+"+b+"="+(a+b) ); // gibt '4+5=9' aus - Man kann auch Werte von Referenz-Datentypen und Strings konkatenieren:
Konto k = new Konto(4711);
System.out.println("Onjekt k: "+konto); // gibt 'Objekt k: beispiele.Konto@9e89d68' aus,
// der Wert nach @ ist die Hauptspeicheradresse im Hexadezimalsystem - Die Umwandlung in String macht die Methode toString() in java.lang.Object, welche jede Klasse
erbt.
Überschreibt man in der Klasse Konto diese Methode durch eine eigene:
public class Konto{
private int kontoNummer, saldo;
...
@Override // signalisiert dem Compiler, dass eine geerbte Methode ersetzt wird
public String toString(){
return"Konto "+kontoNummer+" aktuelles Saldo="+saldo;
}
...
Erscheint bei der Ausgabe eines Konto Objekts ein besserer Text:
System.out.println("Objekt k: "+k); // gibt 'Objekt k: Konto 4711 aktuelles Saldo=500' aus