In questo tutorial, impareremo a conoscere il Java Type Casting e i suoi tipi con l'aiuto di esempi.
Prima di imparare a usare Java Type Casting , assicurati di conoscere i tipi di dati Java.
Tipo Casting
Il processo di conversione del valore di un tipo di dati ( int
, float
, double
, ecc) ad un altro tipo di dati è noto come typecasting.
In Java, ci sono 13 tipi di conversione del tipo. Tuttavia, in questo tutorial, ci concentreremo solo sui 2 principali tipi.
1. Ampliamento Tipo Casting
2. Casting di tipo restringente
Per ulteriori informazioni su altri tipi di conversione del tipo, visitare Conversione del tipo Java (documentazione Java ufficiale).
Casting di tipo ampliamento
In Widening Type Casting , Java converte automaticamente un tipo di dati in un altro tipo di dati.
Esempio: conversione di int in double
class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value: " + num); // convert into double type double data = num; System.out.println("The double value: " + data); ) )
Produzione
Il valore intero: 10 Il valore doppio: 10.0
Nell'esempio precedente, stiamo assegnando la int
variabile di tipo denominata num a una double
variabile di tipo denominata dati.
Qui, Java converte prima i int
dati del double
tipo nel tipo. E poi assegnalo alla double
variabile.
Nel caso dell'ampliamento del tipo Casting , il tipo di dati inferiore (con dimensioni inferiori) viene convertito nel tipo di dati superiore (con dimensioni maggiori). Quindi non c'è perdita di dati. Questo è il motivo per cui questo tipo di conversione avviene automaticamente.
Nota : questo è noto anche come cast di tipo implicito .
Casting di tipo restringente
In Narrowing Type Casting , convertiamo manualmente un tipo di dati in un altro utilizzando le parentesi.
Esempio: conversione di double in un int
class Main ( public static void main(String() args) ( // create double type variable double num = 10.99; System.out.println("The double value: " + num); // convert into int type int data = (int)num; System.out.println("The integer value: " + data); ) )
Produzione
Il valore doppio: 10,99 Il valore intero: 10
Nell'esempio precedente, stiamo assegnando la double
variabile di tipo denominata num a una int
variabile di tipo denominata dati.
Notare la linea,
int data = (int)num;
Qui, la int
parola chiave all'interno delle parentesi indica che la variabile num è convertita nel int
tipo.
Nel caso del Narrowing Type Casting , i tipi di dati superiori (con dimensioni maggiori) vengono convertiti in tipi di dati inferiori (con dimensioni inferiori). Quindi c'è la perdita di dati. Questo è il motivo per cui questo tipo di conversione non avviene automaticamente.
Nota : questo è noto anche come cast di tipo esplicito .
Vediamo alcuni esempi di conversioni di altri tipi in Java.
Esempio 1: conversione del tipo da int a String
class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value is: " + num); // converts int to string type String data = String.valueOf(num); System.out.println("The string value is: " + data); ) )
Produzione
Il valore intero è: 10 Il valore della stringa è: 10
Nel programma sopra, nota la linea
String data = String.valueOf(num);
Qui abbiamo utilizzato il valueOf()
metodo della classe Java String per convertire la variabile di tipo int in una stringa.
Esempio 2: conversione del tipo da String a int
class Main ( public static void main(String() args) ( // create string type variable String data = "10"; System.out.println("The string value is: " + data); // convert string variable to int int num = Integer.parseInt(data); System.out.println("The integer value is: " + num); ) )
Produzione
Il valore della stringa è: 10 Il valore intero è: 10
Nell'esempio sopra, notare la linea
int num = Integer.parseInt(data);
Qui abbiamo utilizzato il parseInt()
metodo della Integer
classe Java per convertire una variabile di tipo stringa in una int
variabile.
Nota : se la variabile stringa non può essere convertita nella variabile intera, si NumberFormatException
verifica un'eccezione denominata .