Sobes.tech
Junior

Comment effectuer la conversion de types de référence en types primitifs et vice versa?

sobes.tech IA

Réponse de l'IA

La conversion des types de référence (enveloppes) en types primitifs (démontage) et vice versa (autoboxing) se produit automatiquement en Java, mais peut également être effectuée explicitement.

Autoboxing : Conversion automatique d'un type primitif en type de référence correspondant.

int primitiveInt = 10;
// Se convertit automatiquement en Integer
Integer wrapperInt = primitiveInt; 

Démontage : Conversion automatique d'un type de référence en type primitif correspondant.

Integer wrapperInteger = 20;
// Se convertit automatiquement en int
int primitiveInteger = wrapperInteger;

Conversion explicite :

Conversion d'un type de référence en primitif : en utilisant des méthodes comme intValue(), doubleValue(), etc.

Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // conversion explicite

Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // conversion explicite

Conversion d'un type primitif en type de référence : en utilisant des constructeurs de classes enveloppantes ou des méthodes statiques valueOf(). La méthode valueOf() est préférée car elle peut mettre en cache des valeurs.

int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // utilisation du constructeur (obsolète)

double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // utilisation de valueOf()

Tableau de conversions :

Type primitif Type de référence
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double