Programmieren > Sprachen > Java

Strings

Die Character-Klasse

Diese Klasse enthält viele statische Methoden, um mit einzelnen Charactern zu arbeiten. Z.B.

String

Grundlegende Klasse für die Bearbeitung von Strings in Java. Ein String ist nicht veränderbar. Alles was aussieht, als würde es einen String verändern, legt im Hintergrund tatsächlich einen neuen String an.

Wichtige Funktionen

Strings werden nicht über den new-Operator, sondern über String-Literale erzeugt.

    String name = "Erich Weigand";

Ein String-Literal ist selbst bereits ein String-Objekt. So kann man die Länge eines Strings z.B. so abfragen.

    "Erich Weigand".length();

Sollen Strings aneinandergefügt werden, so geschieht das mit dem Plus-Operator.

    String name = "Erich" + " " + "Weigand";

Ein einzelnes Zeichen des Strings erhält man mit der Funktion charAt(index). Der erste Buchstabe hat den index 0.

    char first = "Erich".charAt(0);

Um das Vorhandensein eines Substrings zu prüfen, wird die Funktion contains benutzt.

    boolean contains = "Erich Weigand".contains("Erich");

Zum Zerteilen von Strings steht die Methode split zur Verfügung. Split erhält als Parameter einen Delimiter. Der Delimiter gibt an, an welchen Stellen der String zerschnitten werden soll. Der Delimiter selbst wird entfernt. Der Delimiter ist ein regulärer Ausdruck. Die Möglichkeiten, die ein regulärer Ausdruck in Java hat, wird bei der Klasse Pattern genau erklärt.

    String[] parts = "Erich Weigand".split("\\s"); // String an White-Spaces zerschneiden

Konvertieren zwischen Primitiven und Strings

Um einen primitiven Datentyp in einen String zu wandeln, hat das String-Objekt die Methode valueOf. Diese ist für alle primitiven Datentypen überladen. Wird dieser Methode ein Objekt übergeben, wird die objekteigene toString-Methode aufgerufen. Wird null übergeben, wird der String null ausgegeben.

    String s = String.valueOf( 10 );

Für jeden primitiven Datentyp existiert eine Wrapper-Klasse. Jede Wrapper-Klasse hat eine entsprechende Parse-Funktion um einen String in den entsprechenden Datentyp zu konvertieren.

    boolean b = Boolean.parseBoolean( "true" ); 
    byte by = Byte.parseByte( "12" ); 
    short s = Short.parseShort( "24" ); 
    int i = Integer.parseInt( "123" ); 
    long l = Long.parseLong( "4321" ); 
    double d = Double.parseDouble( "345.123"); 
    float f = Float.parseFloat( "543.21" );

CharSequence

Interface für String, StringBuffer und StringBuilder.

StringBuilder

Klasse für veränderbare Strings. Nicht threadsicher.

StringBuffer

Klasse für veränderbare Strings. Threadsicher.