In Java, i tipi primitivi sono i tipi di dati più basilari e non sono oggetti. Ogni tipo primitivo ha una dimensione fissa in memoria e rappresenta direttamente un valore. Java supporta otto tipi primitivi:
- int: tipo intero da 4 byte;
- byte: tipo intero da 1 byte;
- short: tipo intero da 2 byte;
- long: tipo intero da 8 byte;
- double: tipo in virgola mobile da 8 byte (+/-10308 e 15 cifre decimali);
- float: tipo in virgola mobile da 4 byte (+/- 1038 e 7 cifre decimali);
- char: tipo che rappresenza caratteri Unicode (1 byte);
- boolean: tipo per i due valori logici true e false;
Cast di tipi
In Java è lecito assegnare un valore intero a una variabile in virgola mobile:
int euro = 100;
double centesimi = euro;
Non è possibile fare il contrario:
double centesimi = 100.20;
int euro = centesimi; // errore
Per risolvere questo problema, occorre usare un “cast” (forzatura):
int euro = (int) centesimi;
Classi Wrapper
Le classi wrapper in Java forniscono un modo per utilizzare i tipi primitivi come oggetti. Ogni tipo primitivo ha una corrispondente classe wrapper all’interno del package java.lang
. Queste classi permettono di “incapsulare” il valore di un tipo primitivo in un oggetto, fornendo utili metodi per lavorare con i dati.
- byte => Byte;
- short => Short;
- int => Integer;
- long => Long;
- float => Float;
- double => Double;
- boolean => Boolean;
- char => Character;
Esempio:
String numero = "123";
int intValue = Integer.parseInt(numero);