Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


2.14.5

Konvertierung von Strings



Alle Java-Objekte besitzen die Methode toString(), die eine String-Darstellung des jeweiligen Objekts zurückgibt. In der Standardbibliothek wird bei einigen Klassen lediglich der Name der Klasse zurückgegeben, andere dagegen liefern eine Zustandsbeschreibung. Die Klasse java.util.Hashtable liefert zum Beispiel eine Liste der enthaltenen Schlüssel und Werte. Auch bei den Wrapper-Klassen der einfachen Datentypen ist diese Methode verfügbar. So liefert Integer.toString() die gespeicherte Zahl in einen String konvertiert zurück.

Automatische Konvertierung bei Verkettungen

Da alle Java-Objekte mit ihrer toString()-Methode in Strings konvertiert werden können, erlaubt Java eine besondere Syntax für die Verkettung von String-Literalen mit Nicht-Literalen, die implizit von dieser Methode Gebrauch macht.

Im folgenden Beispiel wird die Variable i implizit in einen String umgewandelt und anschließend mit einem String-Literal verkettet:
  for(int i=1; i<=10; i++)
    System.out.println("Der " + i + ". String!");
Die implizite Umwandlung erfolgt dadurch, dass auf alle Nicht-Literale die Methode String.valueOf() angewendet wird. String besitzt drei Arten von Varianten dieser Methode: Durch die implizite Umwandlung von char-Arrays ist folgende Vereinbarung möglich:
   char[] c = {'A', 'B'};
   String s = c + "CD";
Bei der Vereinbarung von s meldet der Compiler keinen Fehler, weil sich der Wert aus einer Verkettung ergibt. Das char-Array wird implizit in einen String konvertiert. Aus diesem Grund funktioniert auch folgender »Trick« zur Konvertierung einer Integer:
   int i = 123;
   String s = ""+i;

Umwandlung einfacher Datentypen in Strings

Die Wrapper-Klassen der Ganzzahltypen definieren jeweils eine Methode (parseInt() von Integer, parseLong() von Long usw.), mit der aus einem String eine Zahl des betreffenden Typs gewonnen werden kann:
   String intStr = "353";
   int i = Integer.parseInt(intStr);
   short s = Short.parseInt(intStr);
Zusätzlich wird eine zweite Variante zur Verfügung gestellt, bei der angegeben werden kann, zu welcher Basis die Zeichenkette als Zahl interpretiert werden soll:
   String intStr = "101";
   int a = Integer.parseInt(intStr, 2);
   int b = Integer.parseInt(intStr, 8);
   int c = Integer.parseInt(intStr, 16);
   System.out.println("a="+a+" b="+b+" c="+c);
Diese Sequenz liefert die Ausgabe:
   a=5 b=65 c=257

Umwandlung von Strings in einfache Datentypen

Für die Konvertierung von Strings in boolean-, float- oder double-Werte muss man zunächst ein Objekt der entsprechenden Wrapper-Klasse erzeugen, von dem dann der einfache Wert ermittelt werden kann:
   String boolStr = "TRUE";
   String floatStr = "3e-4";
   boolean b = new Boolean(boolStr).booleanValue();
   float f = new Float(floatStr).floatValue();
Zur Wandlung einfacher Datentypen in Strings kann man sich stets der Methode String.valueOf() bedienen, da String für jeden einfachen Datentyp eine entsprechende Variante zur Verfügung stellt.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.