Java 1
  • Home
  • Tutorials
    • Hello World
      • Download
      • Installation unter Windows
      • Installation unter Linux
      • Das Hello World Programm
      • Mehr Java
    • Java Konsole
      • Java Konsole Testen
    • Basic Java
      • Java Programme
        • Die Klasse
        • Datentypen
        • Null
        • Casten
        • Operatoren
        • Kontrollstrukturen
        • Arrays
        • Aufgaben
      • Objektorientierte Konzepte
        • Hallo Fenster
        • Objekte einer Klasse
        • Vererbung
        • Interfaces
      • Alles über Klassen
        • Abstrakte Klassen
        • Methoden überschreiben
        • Super
        • Final
        • Innere Klassen
        • Anonyme Klassen
        • Enumerations
      • You're just an object
        • Sichtbarkeit
        • Druckdarstellung
        • Gleichheit
        • Klonen
        • Die Class
        • Serialisierung
    • Java Api
      • Dokumentation
      • Strings
      • Wrapper Klassen
      • System und Runtime
      • Math
      • Exceptions
      • IO
      • Sammlungsklassen
      • AWT und Swing
      • Alle Komponenten
      • Applets
      • Threads
      • Jar
      • Classpath
    • JSP und Servlets
      • Meine erste JSP
        • Downloads
        • Installation unter Windows
        • Installation unter Linux
        • Admin und Manager
        • Webapplication
      • JSP
        • Java Code in HTML einbinden
        • Das HTTP Request - Response Modell
        • Request und Response Objekte
        • Auswerten von Formulardaten
        • Aufgaben
      • Beans
        • Die Session
        • Weitere vordefinierte Objekte
        • Java-Beans
        • Beans programmieren
        • Java-Beans in JSP nutzen
        • Aufgaben
      • Servlets
        • Nutzen der Servlets
        • Servlets programmieren
        • Servlets auf dem Server einrichten
        • Servlets mit JSP
        • Servlets includen
        • Aufgaben
      • Webapplikation
        • Filter
        • Initialisierungsparameter
        • Error Pages
        • Passwortgeschützte Verzeichnisse
        • Bibliotheken nutzen
        • Eine Webapplikation deployen
        • Ausblick: Wie geht's weiter?
        • JSP-Tags Syntaxreferenz
        • Aufgaben
  • Code
    • Web
      • Datenbankverbindungen mit Tomcat
      • Texte richtig encoden
      • HTTPS mit Tomcat
      • HTML Encoden mit Javascript
    • Java
      • Print F
      • Ein generischer Poolbuilder
      • Native Bibliotheken
      • Unique Ids
    • Java FX
      • Balls
      • Hearts
      • Planner
    • Java ME
      • The Next Big Thing
    • System
      • Vi Kommandos
  • Sidemap
  • Impressum
  • Hilfe
Home > Tutorials > Java Api > Strings
  • Home
  • Tutorials
    • Hello World
    • Java Konsole
    • Basic Java
    • Java Api
      • Dokumentation
      • Strings
      • Wrapper Klassen
      • System und Runtime
      • Math
      • Exceptions
      • IO
      • Sammlungsklassen
      • AWT und Swing
      • Alle Komponenten
      • Applets
      • Threads
      • Jar
      • Classpath
    • JSP und Servlets
  • Code
  • Sidemap
  • Impressum
  • Hilfe

Strings und Zeichenketten-Verarbeitung

Die Klassen „java.lang.String" , java.lang.StringBuilder und „java.lang.StringBuffer" dienen der Behandlung von Zeichenketten. String ist eine einfach zu handhabende, relative sichere und mächtige Klasse; StringBuffer und StringBuilder werden benutzt, um Zeichenketten performant zusammen zu bauen: Sie finden hier eine ganze Reihe von append(..) und insert(..)- Methoden für unterschiedliche Datentypen und Objekte. StringBuffer und StringBuilder besitzen eine fast identische Api und leisten dasselbe. Der Unterschied ist, daß StringBilder, die neuere Klasse, nicht Thread-sicher ist, dafür aber performanter. Nutzen Sie StringBuilder wenn Sie sicher sind, daß auf das StringBuilder Objekt nur aus einem Thread heraus zugegriffen wird, anderenfalls StringBuffer.

Ist der StringBuffer fertig, haben Sie zwei Möglichkeiten, um ihn in einen String zur Weiterverarbeitung umzuwandeln:

String s= strBuffer.toString();

String s=new String(strBuffer);

Objekte der Klasse String selbst sind final undkönnen nicht mehr verändert werden. Werden Veränderungan einem String-Objekt vorgenommen, so wird in jedem Fall ein neuer String erzeugt benutzt. Das ist eine speichertechnische Sache des Computers, der Computer legt sozusagen jeden veränderten String neu und in einem anderen Speicherbereich an. Im Grunde braucht uns das nicht zu interessieren, allerdings ergeben sich daraus zwei interessante Konsequenzen:

  1. Wir brauchen uns niemals Sorgen zu machen, dass unser String inirgendeiner Methode verändert wurde. Das passiert garantiert nicht. Unser String verhält sich hier wie ein primitiver Datentyp. Beim StringBuffer hingegen ist diese Gefahr wie bei allen anderen Objekten real. Veränderungen, die irgendwo an einem Objekt vorgenommen werden, wirken sich an jeder Stelle aus.
  2. Operationen auf String – Basis sind viel langsamer als StringBuffer Operationen, da jedes Mal ein neues Objekt erzeugt werden muss.

Obwohl Strings Klassen sind, gelten für sie einige Vereinfachungen: So können Sie einen String wie einen primitiven Datentype durch einfache Zuweisung erzeugen:

String s="jajaja!";

Der Plus-Operator (+) lässt sich auf Strings anwenden, um sie zu einem neuen String zusammen zu fassen:

String s="ja"+" oder"+" nein";

Darüber hinaus lassen sich primitive Datentypen durch Addition mit einem String in einen solchen umwandeln:

String s=1+""; // s ist "1"

Objekte werden durch eine solche Operation in ihrer toStirng() Darstellung ausgegeben. Dabei besitzt der Plus + Operator gegenüber der toString()-Methode den Vorteil, dass keine Null-Pointer-Exception auftritt, wenn das Objekt null ist.

Genau wie Character unterstützen Strings und StringBuffer Unicode. Die Klasse String bietet daneben eine Fülle nützlicher Methoden zur Zeichenketten-Manipulation, die Sie sich am besten mittels der folgenden Aufgabe selbst erarbeiten.

Aufgabe: StringManipulation.java

Sie haben einen String original="Nickel-Metall-Hybrid-Akku";
Schreiben Sie eine Klasse, die folgendes leistet:

  1. Erzeugen Sie den String aus einem StringBuffer, indem sie dieappend(..) Methode von StringBuffer verwenden.
  2. Wandeln Sie den String in Grossbuchstaben um und geben Sie ihn aus.
  3. Geben Sie den Teilstring zwischen dem ersten und dem letzten "i" inKleinbuchstaben aus.
  4. Ersetzen Sie alle Gedankenstriche durch Leerzeichen.
  5. Kehren Sie die Reihenfolge der Wörter um.
  6. Geben Sie die ASCII - Werte der Buchstaben des Strings an. Heben Sieden ASCII Wert für den Gedankenstrich hervor.
  7. Suchen Sie das Wort, das im Alphabet zuerst kommt, und geben Sie esaus.
  8. Geben Sie die Wörter nach dem Alphabet sortiert aus.

Hinweis: Benutzen Sie die Dokumentation, um geeignete Methoden der Klasse String zu finden.
Musterlösung: java1.aufg.referenz.StringManipulation

« Dokumentation
Java Api
Wrapper Klassen »
Show/Hide Footer Actions

Kommentare:

Sie müssen angemeldet sein um eine Nachricht zu erstellen. Anmelden »
© 2012 Java 1. Alle Rechte vorbehalten.
Anmelden
concrete5 - open source CMS
Theme by Site5 / Mnkras.