Junior
Wat is typecasting in Java?
sobes.tech AI
Antwoord van AI
Typecasting (omzetten) in Java is het omzetten van de waarde van het ene datatype naar een ander datatype.
Soorten typecasting:
- Expliciete (Duidelijke) Casting: Uitgevoerd door de programmeur met behulp van de operator
(type). Gebruikt om te converteren van een "groter" type naar een "kleiner" type (bijvoorbeeld vandoublenaarint). Kan leiden tot gegevensverlies.// impliciete casting (automatisch) int a = 10; double b = a; // int naar double // expliciete casting (duidelijk) double c = 10.5; int d = (int) c; // double naar int, d wordt 10 - Impliciete (Automatische) Casting / Widening Conversion: Wordt automatisch door de JVM gedaan wanneer er wordt geconverteerd van een "kleiner" type naar een "groter" type (bijvoorbeeld van
intnaardouble). Is veilig en leidt niet tot gegevensverlies.int x = 10; double y = x; // int automatisch geconverteerd naar double
Typecasting kan plaatsvinden tussen primitieve types of tussen objecttypes in een erfenishierarchie.
Bij objecttypecasting:
- Upcasting: Het converteren van een subklasse naar zijn superklasse. Is impliciet en veilig.
class Animal {} class Dog extends Animal {} Animal animal = new Dog(); // Upcasting - Downcasting: Het converteren van een superklasse naar zijn subklasse. Vereist expliciete conversie en kan
ClassCastExceptionveroorzaken tijdens runtime als het object niet daadwerkelijk een instantie is van de doel- subklasse.Animal animal = new Dog(); // Upcasting // Downcasting - vereist expliciete conversie en instanceof controle if (animal instanceof Dog) { Dog dog = (Dog) animal; // Nu kunnen we methoden gebruiken die specifiek zijn voor Dog }