logo

Cours d'emballage en Java

Le classe wrapper en Java fournit le mécanisme convertir un primitif en objet et un objet en primitif .

Depuis J2SE 5.0, boxe automatique et déballage La fonctionnalité convertit automatiquement les primitives en objets et les objets en primitives. La conversion automatique d'une primitive en objet est connue sous le nom d'autoboxing et vice-versa de unboxing.

Utilisation des classes Wrapper en Java

Java est un langage de programmation orienté objet, nous devons donc traiter les objets plusieurs fois, comme dans les collections, la sérialisation, la synchronisation, etc. Voyons les différents scénarios dans lesquels nous devons utiliser les classes wrapper.

qu'est-ce que l'expression régulière Java
    Modifiez la valeur dans Méthode :Java ne prend en charge que les appels par valeur. Ainsi, si nous transmettons une valeur primitive, cela ne changera pas la valeur d’origine. Mais si nous convertissons la valeur primitive dans un objet, cela changera la valeur d’origine.Sérialisation :Nous devons convertir les objets en flux pour effectuer la sérialisation. Si nous avons une valeur primitive, nous pouvons la convertir en objets via les classes wrapper.Synchronisation:La synchronisation Java fonctionne avec les objets en multithreading.paquet java.util :Le package java.util fournit les classes utilitaires pour gérer les objets.Cadre de collecte :Le framework de collection Java fonctionne uniquement avec des objets. Toutes les classes du framework de collection (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque, etc.) traitent uniquement des objets.

Les huit classes du java.lang package sont connus sous le nom de classes wrapper en Java. La liste des huit classes wrapper est donnée ci-dessous :

Type primitifClasse d'emballage
booléenBooléen
carboniser Personnage
octetOctet
courtCourt
int Entier
longLong
flotterFlotter
doubleDouble

Boîte automatique

La conversion automatique du type de données primitif dans sa classe wrapper correspondante est connue sous le nom de autoboxing, par exemple, octet en octet, char en caractère, int en entier, long en long, float en float, boolean en boolean, double en double et short. raccourcir.

Depuis Java 5, nous n'avons plus besoin d'utiliser la méthode valueOf() des classes wrapper pour convertir la primitive en objets.

Exemple de classe Wrapper : Primitive à Wrapper

 //Java program to convert primitive into objects //Autoboxing example of int to Integer public class WrapperExample1{ public static void main(String args[]){ //Converting int into Integer int a=20; Integer i=Integer.valueOf(a);//converting int into Integer explicitly Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally System.out.println(a+' '+i+' '+j); }} 

Sortir:

tableau de réaction
 20 20 20 

Déballage

La conversion automatique du type wrapper en son type primitif correspondant est connue sous le nom de unboxing. C'est le processus inverse de l'autoboxing. Depuis Java 5, nous n'avons plus besoin d'utiliser la méthode intValue() des classes wrapper pour convertir le type wrapper en primitives.

paramètres du navigateur Web

Exemple de classe Wrapper : Wrapper vers Primitive

 //Java program to convert object into primitives //Unboxing example of Integer to int public class WrapperExample2{ public static void main(String args[]){ //Converting Integer to int Integer a=new Integer(3); int i=a.intValue();//converting Integer to int explicitly int j=a;//unboxing, now compiler will write a.intValue() internally System.out.println(a+' '+i+' '+j); }} 

Sortir:

 3 3 3 

Exemple de classes Java Wrapper

 //Java Program to convert all primitives into its corresponding //wrapper objects and vice-versa public class WrapperExample3{ public static void main(String args[]){ byte b=10; short s=20; int i=30; long l=40; float f=50.0F; double d=60.0D; char c='a'; boolean b2=true; //Autoboxing: Converting primitives into objects Byte byteobj=b; Short shortobj=s; Integer intobj=i; Long longobj=l; Float floatobj=f; Double doubleobj=d; Character charobj=c; Boolean boolobj=b2; //Printing objects System.out.println('---Printing object values---'); System.out.println('Byte object: '+byteobj); System.out.println('Short object: '+shortobj); System.out.println('Integer object: '+intobj); System.out.println('Long object: '+longobj); System.out.println('Float object: '+floatobj); System.out.println('Double object: '+doubleobj); System.out.println('Character object: '+charobj); System.out.println('Boolean object: '+boolobj); //Unboxing: Converting Objects to Primitives byte bytevalue=byteobj; short shortvalue=shortobj; int intvalue=intobj; long longvalue=longobj; float floatvalue=floatobj; double doublevalue=doubleobj; char charvalue=charobj; boolean boolvalue=boolobj; //Printing primitives System.out.println('---Printing primitive values---'); System.out.println('byte value: '+bytevalue); System.out.println('short value: '+shortvalue); System.out.println('int value: '+intvalue); System.out.println('long value: '+longvalue); System.out.println('float value: '+floatvalue); System.out.println('double value: '+doublevalue); System.out.println('char value: '+charvalue); System.out.println('boolean value: '+boolvalue); }} 

Sortir:

 ---Printing object values--- Byte object: 10 Short object: 20 Integer object: 30 Long object: 40 Float object: 50.0 Double object: 60.0 Character object: a Boolean object: true ---Printing primitive values--- byte value: 10 short value: 20 int value: 30 long value: 40 float value: 50.0 double value: 60.0 char value: a boolean value: true 

Classe Wrapper personnalisée en Java

Les classes Java Wrapper encapsulent les types de données primitifs, c'est pourquoi on les appelle classes wrapper. Nous pouvons également créer une classe qui encapsule un type de données primitif. Nous pouvons donc créer une classe wrapper personnalisée en Java.

 //Creating the custom wrapper class class Javatpoint{ private int i; Javatpoint(){} Javatpoint(int i){ this.i=i; } public int getValue(){ return i; } public void setValue(int i){ this.i=i; } @Override public String toString() { return Integer.toString(i); } } //Testing the custom wrapper class public class TestJavatpoint{ public static void main(String[] args){ Javatpoint j=new Javatpoint(10); System.out.println(j); }} 

Sortir:

 10