Junior
Was ist Type Casting in Java?
sobes.tech KI
Antwort von AI
Typumwandlung (Casting) in Java ist die Umwandlung eines Werts eines Datentyps in einen anderen Datentyp.
Arten der Typumwandlung:
- Explizites (erklärtes) Casting: Wird vom Programmierer mit dem Operator
(Typ)durchgeführt. Wird verwendet, um von einem "größeren" Typ zu einem "kleineren" zu konvertieren (z.B. vondoublezuint). Kann zu Datenverlust führen.// implizite Umwandlung (automatisch) int a = 10; double b = a; // int zu double // explizite Umwandlung (deklariert) double c = 10.5; int d = (int) c; // double zu int, d wird 10 sein - Implizite (automatische) Typumwandlung (Widening Conversion): Wird automatisch von der JVM durchgeführt, wenn von einem "kleineren" zu einem "größeren" Typ konvertiert wird (z.B. von
intzudouble). Ist sicher und führt nicht zu Datenverlust.int x = 10; double y = x; // int automatisch zu double konvertiert
Die Typumwandlung kann zwischen primitiven Typen oder zwischen Objekttypen in einer Vererbungs-Hierarchie erfolgen.
Bei der Objekt-Typumwandlung:
- Upcasting: Konvertierung einer Subklasse zu ihrer Superklasse. Ist implizit und sicher.
class Animal {} class Dog extends Animal {} Animal animal = new Dog(); // Upcasting - Downcasting: Konvertierung einer Superklasse zu ihrer Subklasse. Erfordert eine explizite Umwandlung und kann
ClassCastExceptionzur Laufzeit auslösen, wenn das Objekt tatsächlich kein Instanz der Ziel-Subklasse ist.Animal animal = new Dog(); // Upcasting // Downcasting - erfordert explizite Umwandlung und instanceof-Check if (animal instanceof Dog) { Dog dog = (Dog) animal; // Jetzt können spezifische Methoden von Dog verwendet werden }