Casting di tipo Java (con esempi)

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 intvariabile di tipo denominata num a una doublevariabile di tipo denominata dati.

Qui, Java converte prima i intdati del doubletipo nel tipo. E poi assegnalo alla doublevariabile.

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 doublevariabile di tipo denominata num a una intvariabile di tipo denominata dati.

Notare la linea,

 int data = (int)num; 

Qui, la intparola chiave all'interno delle parentesi indica che la variabile num è convertita nel inttipo.

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 Integerclasse Java per convertire una variabile di tipo stringa in una intvariabile.

Nota : se la variabile stringa non può essere convertita nella variabile intera, si NumberFormatExceptionverifica un'eccezione denominata .

Articoli interessanti...