Java Type Casting meistern: Von Widening zu Narrowing und darüber hinaus
Java Type Casting
Dieser Leitfaden entmystifiziert Java Type Casting, deckt seine primären Formen ab und illustriert jede mit klaren Beispielen.
Bevor Sie in Java Type Casting eintauchen, stellen Sie sicher, dass Sie Javas Datentypen verstehen.
Type Casting
Der Prozess der Konvertierung des Wertes eines Datentyps (int, float, double, etc.) in einen anderen wird als Type Casting bezeichnet.
Java bietet 13 Konvertierungstypen, aber dieses Tutorial fokussiert sich auf die zwei Kernkategorien:
- Widening Type Casting
- Narrowing Type Casting
Für eine umfassende Liste siehe Javas offizielle Type Conversion Dokumentation.
Widening Type Casting
Bei Widening Type Casting fördert Java automatisch einen kleineren Primitivtyp zu einem größeren, wodurch kein Datenverlust entsteht.
Beispiel: int zu double konvertieren
class Main {
public static void main(String[] args) {
int num = 10;
System.out.println("Der Integer-Wert: " + num);
double data = num;
System.out.println("Der Double-Wert: " + data);
}
}
Ausgabe
Der Integer-Wert: 10 Der Double-Wert: 10.0
Dies demonstriert, wie eine int Variable vor der Zuweisung zu double promoviert wird. Die automatische Natur dieser Konvertierung ist der Grund, warum sie auch implizites Type Casting genannt wird.
Hinweis: Widening-Konvertierungen sind sicher und werden vom Compiler durchgeführt.
Narrowing Type Casting
Bei Narrowing Type Casting müssen Sie einen größeren Primitivtyp explizit in einen kleineren casten, indem Sie Klammern verwenden.
Beispiel: double zu int konvertieren
class Main {
public static void main(String[] args) {
double num = 10.99;
System.out.println("Der Double-Wert: " + num);
int data = (int)num;
System.out.println("Der Integer-Wert: " + data);
}
}
Ausgabe
Der Double-Wert: 10.99 Der Integer-Wert: 10
Der Cast (int) schneidet den Bruchteil ab, was verdeutlicht, warum diese Konvertierung als explizites Type Casting betrachtet wird und zu Datenverlust führen kann.
Hinweis: Java führt Narrowing-Konvertierungen nicht automatisch durch.
Im Folgenden finden Sie praktische Konvertierungen zwischen Primitiven und Strings.
Beispiel 1: int zu String
class Main {
public static void main(String[] args) {
int num = 10;
System.out.println("Der Integer-Wert ist: " + num);
String data = String.valueOf(num);
System.out.println("Der String-Wert ist: " + data);
}
}
Ausgabe
Der Integer-Wert ist: 10 Der String-Wert ist: 10
Hier konvertiert String.valueOf() den Integer in seine textuelle Repräsentation.
Beispiel 2: String zu int
class Main {
public static void main(String[] args) {
String data = "10";
System.out.println("Der String-Wert ist: " + data);
int num = Integer.parseInt(data);
System.out.println("Der Integer-Wert ist: " + num);
}
}
Ausgabe
Der String-Wert ist: 10 Der Integer-Wert ist: 10
Das Parsing basiert auf Integer.parseInt(). Wenn der String nicht geparst werden kann, wird eine NumberFormatException geworfen.
Hinweis: Validieren Sie Eingaben, um Laufzeit-Exceptions zu vermeiden.
Java
- Python-Typkonvertierung & Casting meistern: Umfassender Leitfaden
- Java Primitive Datentypen: Vollständiger Leitfaden mit Beispielen
- Java Operatoren meistern: Typen, Syntax und praktische Beispiele
- Java Kommentare: Typen, Verwendung und Best Practices
- Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
- Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
- Java-Kapselung meistern: Praktischer Leitfaden zum Datenverbergen
- Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
- Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
- Java Type Casting meistern: Von Widening zu Narrowing und darüber hinaus