Maison  >  Article  >  Java  >  Classe Wrapper en Java

Classe Wrapper en Java

王林
王林original
2024-08-30 16:00:11701parcourir

Wrapper Class est une classe importante de la bibliothèque java.lang. Les objets de classe Wrapper créent un wrapper pour les types de données primitifs. Lors de la création d'un objet de la classe wrapper, de l'espace est créé dans la mémoire où le type de données primitif est stocké. La classe Wrapper fournit certaines fonctionnalités pour la conversion de l'objet en données primitives et des données primitives en objet, c'est-à-dire le boxing/unboxing. La conversion des objets en données primitives et des données primitives en objet s'effectue automatiquement. Le type de données primitif fait référence à int, float, char, double, byte, etc.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe : 

La déclaration ci-dessous montre comment fonctionne une classe Wrapper dans le programme Java.

Exemple :

int i = 100;

Dans l'exemple ci-dessous, nous pouvons voir que i est un type de données entier. Parfois, dans Java, un entier doit être transmis comme type d'objet. Dans ce cas, nous pouvons utiliser la classe wrapper pour convertir un entier en objet.

Code :

Integer intVal = new Integer(i);

Dans la syntaxe donnée ci-dessus, nous pouvons voir comment un type de données primitif est converti en objet à l'aide d'un objet de classe Integer. En outre, nous pouvons dire que le type de données primitif est encapsulé sous forme d'objet.

Utilisations de la classe Wrapper en Java

Vous trouverez ci-dessous quelques utilisations de la classe wrapper :

  • La classe Wrapper peut être utilisée pour convertir un objet en un type de données primitif ou vice versa.
  • L'utilisation de classes wrapper améliore les performances du programme.
  • La classe Wrapper aide à la sérialisation des objets et vice versa. Il peut convertir des données primitives en objets. Parfois, nous avons besoin de diffuser des objets ; dans ce cas, la classe wrapper peut les convertir au format de sérialisation.
  • Certaines méthodes importantes sont fournies par la classe wrapper, qui est utilisée pour effectuer la recherche et le tri dans les collections.
  • Soustraction et addition, ces types d'opérations ne peuvent pas modifier l'ancienne valeur de l'entier primitif de la classe Wrapper ; c'est pourquoi la classe Wrapper est connue comme immuable.
  • La classe Wrapper est utilisée dans le processus multithreading, car le processus multithreading a besoin d'un objet pour synchroniser les processus. La classe wrapper convertit différents types de données en objet.

Sur la base de JavaAPI, la hiérarchie des classes Wrapper maintient Object en tête des différentes classes primitives. Le nombre, le caractère et le booléen arrivent au deuxième niveau juste après l'objet. Byte, Short, Int, Long, Float, Double relèvent du type de données Number au troisième niveau.

Les classes Wrapper utilisent les deux mécanismes suivants Autoboxing & unboxing, pour la conversion/wrapping du type de données ou la conversion d'un objet en type de données primitif.

  • Autoboxing : Autoboxing fait référence à la conversion automatique du type de données primitif en objet à l'aide des classes Wrapper. C’est ce qu’on appelle l’Autoboxing. Dans les exemples ci-dessous, int converti en objet Integer et dans les exemples c, un type de données primitif différent est converti en objet correspondant.
  • Unboxing : Le Unboxing est le processus inverse de l'Autoboxing. La conversion automatique des objets de classe wrapper en type de données primitif correspondant est connue sous le nom de Unboxing. Dans l'exemple b ci-dessous, l'objet Integer est converti en un type de données primitif int.

Exemples de classe Wrapper en Java

Vous trouverez ci-dessous les différents exemples de classe Wrapper en Java :

Exemple n°1

Dans l'exemple ci-dessous, nous pouvons voir comment la conversion manuelle s'effectue via la classe wrapper de int i vers un objet k.

Code :

import java.util.*;
class WrapperExample {
public static void main(String args[]){
int j=100;
//converting int j to integer k as an object
Integer k = new Integer(j);
System.out.println(j + "\n" + k);
}
}

Sortie :

Classe Wrapper en Java

Dans l'exemple ci-dessus, nous pouvons voir comment la conversion s'effectue explicitement.

Exemple n°2

Dans l'exemple ci-dessous, nous pouvons voir que ce processus de conversion s'effectue parfois automatiquement, c'est-à-dire appelé autoboxing.

Code :

import java.util.*;
class AutoboxingUnboxingExample {
public static void main(String args[]){
int j = 500;
ArrayList<Integer> arrValues = new ArrayList();
arrValues.add(j);  // autoboxing takes place implicitly
System.out.println(arrValues.get(0));
}
}

Sortie :

Classe Wrapper en Java

Dans l'exemple ci-dessus, la valeur int est convertie en objet implicitement en tant qu'objet. De plus, cette valeur peut être obtenue à partir de ArrayList.

Exemple #3

Dans cet exemple, nous passerons par la mise en place du Unboxing. Le déballage est le processus inverse de l'Autoboxing.

Code :

import java.util.*;
class AutoboxingUnboxingExample {
public static void main(String args[]){
ArrayList<Integer> arrValues = new ArrayList();
arrValues.add(250);
//unboxing here as int data type from Integer object
int k = arrValues.get(0);
//value printed is in primitive data type
System.out.println(k);
}
}

Sortie :

Classe Wrapper en Java

Dans l'exemple ci-dessus, le champ objet ArrayList est converti en k type de données primitif, c'est-à-dire int k.

Example #4

The following given example have all the details of Autoboxing & Unboxing.

Code:

import java.util.*;
class WrapperConversionExample {
public static void main(String args[]){
int i = 15;
float j = 9.6f;
double k = 120.8;
byte l = 1;
//creating instance of Integer object
Integer iObj = new Integer(i);
//creating instance of Float object
Float fObj = new Float(j);
//creating instance of Double object
Double dObj = new Double(k);
//creating instance of Double object
Byte bObj = new Byte(l);
//value printed is in object
System.out.println("Value as an Integer object > " + iObj);
System.out.println("Value as a Float object > " + fObj);
System.out.println("Value as a Double object > " + dObj);
System.out.println("Value as a Byte object > " + bObj);
//primitive data type from the object
int m = iObj;
float n = fObj;
double o = dObj;
byte p = bObj;
//value printed is in primitive data type
System.out.println("Value as an int primitive type > " + m);
System.out.println("Value as a float primitive type > " + n);
System.out.println("Value as a double primitive type > "+ o);
System.out.println("Value as a byte primitive type > " + p);
}
}

Output:

Classe Wrapper en Java

In the above-given program, we can see the implementation of Wrapper classes. Wrapper classes are converting the primitive data type to object & object to the primitive data type. The wrapper class provides separate classes for each primitive data type.

Conclusion

Through the Wrapper classes, we can easily understand autoboxing & unboxing how conversion takes place from primitive to object & its vice versa, which can be easily understood through Wrapper classes. For each of the primitive data types, there is a dedicated class in java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Classe Singleton en JavaArticle suivant:Classe Singleton en Java