Junior
Cos'è il casting in Java?
sobes.tech AI
Risposta dell'AI
Il casting dei tipi in Java è la conversione del valore di un tipo di dato in un altro.
Tipi di casting:
- Casting esplicito (Explicit Casting): Eseguito dal programmatore usando l'operatore
(tipo). Usato per convertire da un tipo "maggiore" a uno "minore" (ad esempio, dadoubleaint). Può causare perdita di dati.// casting implicito (automatico) int a = 10; double b = a; // int a double // casting esplicito (dichiarato) double c = 10.5; int d = (int) c; // double a int, d sarà 10 - Casting implicito (Implicit Casting / Widening Conversion): Eseguito automaticamente dalla JVM quando si converte da un tipo "minore" a uno "maggiore" (ad esempio, da
intadouble). È sicuro e non provoca perdita di dati.int x = 10; double y = x; // int convertito automaticamente in double
La conversione di tipi può avvenire tra tipi primitivi o tra tipi di oggetti in una gerarchia di ereditarietà.
Per la conversione di tipi di oggetti:
- Upcasting: Conversione di una sottoclasse alla sua superclasse. È implicito e sicuro.
class Animal {} class Dog extends Animal {} Animal animal = new Dog(); // Upcasting - Downcasting: Conversione di una superclasse alla sua sottoclasse. Richiede una conversione esplicita e può generare
ClassCastExceptiona runtime se l'oggetto non è effettivamente un'istanza della sottoclasse di destinazione.Animal animal = new Dog(); // Upcasting // Downcasting - richiede una conversione esplicita e un controllo con instanceof if (animal instanceof Dog) { Dog dog = (Dog) animal; // Ora è possibile usare metodi specifici di Dog }