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

Weiterführende Links

Kapitel in Java ist auch eine Insel

Lehrvideo  (YouTube)