17.2
Explizites Casten |
|
Die Methode parseInt(..) | Von
Interesse ist auch der umgekehrte Vorgang, eine Zeichenkette nämlich in
einer int-Variablen
ablegen. Die Typenumwandlung übernimmt hier eine Methode. Voraussetzung
ist, dass der Inhalt des Stringobjekts in eine
int-Variable
passen.
String name = "1234";
|
Explizites Casten, ein Beispiel |
Wie das nachfolgende
Beispiel zeigt, ist das Casten nicht auf
int-
und Stringobjekte
beschränkt
int a =
7; Wie das Pluszeichen ist das auch das / -Zeichen überladen, es führt, je nach Kontext, Ganzzahldivision oder die Division von Gleitkommazahlen aus. In der Zeile 3 des oben dargestellten Programmauszugs handelt es sich um eine Division von ganzen Zahlen, der Quotient ist ebenfalls eine ganze Zahl. In der letzten, dargestellten Programmzeile werden a und b zunächst explizit zu Gleitkommazahlen gecastet, so dass durch '/' eine Division ausgeführt wird, deren Quotient ebenfalls eine Gleitkommazahl ist. Die Ausgaben heißen also: 1 Ein Typcast int ergebnis = (int) (zaehler/nenner); wobei zaehler und nenner vom Typ double sein mögen, verursacht Informationsverlust, da die Nachkommastellen bei der Division abgeschnitten werden. Hier wird deutlich, warum solche Typcastings explizit sein müssen, dem Programmierer muss hier klar sein, ob die Verluste akzeptiert vielleicht sogar gewünscht sein könnten. Das Casten ist nicht auf Zahlen
unterschiedlichen Typs beschränkt. Wir werden deshalb später immer wieder
auf diese Technik zu sprechen kommen |
zu | 17.3 Übung |
zur Startseite | www.pohlig.de (C) MPohlig 2004 |