next up previous contents
Nächste Seite: Systemzeit verwenden Aufwärts: Vorgegebene Klassen und Methoden Vorherige Seite: Zeichen in Bytes umwandeln   Inhalt

TypeCasting

Methoden einer Klasse liefern u.A. Werte eines bestimmten Typs zurück. Manchmal benötigt man das Ergebnis aber in einem anderen Typ: Der zurückgegebene Wert wird dann einem Typ zugewiesen, der sich vom ursprünglichen Typ unterscheidet. Sind der Quelltyp und der Zieltyp nicht identisch, so muss eine Typkonvertierung stattfinden. Ist der Zieltyp ``größer'' als der Quelltyp, so findet diese Konvertierung automatisch statt; ist dies nicht der Fall, wird eine Cast-Anweisung notwendig. Wir verwenden dies im folgenden Beispiel, indem der Zieltyp (char) in runden Klammern vor der Ausgabe des Wertes des Byte-Arrays geheim[i] angegeben wird:

public class byte1 {
    public static void main ( String [] args) {
        String s = "Informatik ist schoen";
        byte [] geheim = s.getBytes();
        for (int i = 0; i<geheim.length; i++) {
            System.out.print(geheim[i] + " ");
        }
        System.out.println();
        for (int i = 0; i<geheim.length; i++) {
            System.out.print( (char) geheim[i]);
        }
    }
}

Damit werden alle Byte-Werte des Arrays geheim als Zeichenwerte ausgegeben:

73 110 102 111 114 109 97 116 105 107 32 105 115 116 32 115 99 104 111 101 110 
Informatik ist schoen

Die im obigen Beispiel angeführte Klasse byte1 lässt sich mit Type-Casting auch folgendermaßen verwirklichen:

public class byte2 {
    public static void main ( String [] args) {
        String s = "Informatik ist schoen";
        for (int i = 0; i<s.length(); i++) {
            System.out.print((byte) s.charAt(i) + " ");
        }

    }
}

In diesem Fall liefert die String-Methode length() die Länge der Zeichenkette, und die Methode charAt(i) das jeweilige Zeichen an der i-ten Stelle. Der zugehörige Byte-Wert wird durch Type-Casting bestimmt.


next up previous contents
Nächste Seite: Systemzeit verwenden Aufwärts: Vorgegebene Klassen und Methoden Vorherige Seite: Zeichen in Bytes umwandeln   Inhalt
Alfred Nussbaumer 2003-02-10