Qu'est-ce que AutoBoxing et unboxing en Java?



Cet article vous donnera une approche complète de l'Autoboxing en Java avec quelques exemples pour une meilleure compréhension.

La plupart du temps, nous utilisons des types de données primitifs lors de l'écriture d'un programme dans n'importe quel langage. Mais il y a des situations où les types de données primitifs sont insuffisants dans le domaine de et est l'un d'eux. Pour surmonter les inconvénients des types de données primitifs, nous utilisons emballages . Cette procédure s'appelle Autoboxing. Nous discuterons de la boxe automatique détaillée en Java via le dossier ci-dessous:

Commençons.





qu'est-ce qu'un développeur ios

Qu'est-ce que la boxe et la boxe automatique en Java?

La boxe et la boxe automatique sont souvent utilisées pour désigner le même concept. Mais en réalité, ils ne sont pas exactement les mêmes. Parlons d'abord du concept de boxe. Qu'est-ce que la boxe? On dirait que nous gardons quelque chose dans une boîte, non? Oui, quand nous disons que nous encadrons ou emballons un type de données primitif, cela signifie que nous l'enveloppons pour former un objet. Encore confus? Prenons un exemple.

int FirstNumber = 1

La variable «FirstNumber» est de type int qui est un . Maintenant, que faire si je veux convertir la variable «FirstNumber» en objet? Java fournit un moyen de le faire.



Integer SecondNumber = new Integer (2)

Notez que ‘SecondNumber’ n’est pas de type int mais c’est un objet de type Integer. Ce processus de conversion de types de données primitifs en un objet est appelé boxe. Vous pourriez vous demander comment est-ce possible? Réfléchissons à la manière la plus simple d’accomplir cette tâche. Nous pouvons créer un classe contenant un seul attribut de type int, un constructeur qui prend une valeur de type int et l'affecte à notre attribut de classe, et quelques méthodes pour manipuler cette valeur int. Pour en savoir plus, reportez-vous à document .

Nous avons vu comment le type int peut être converti en Java. Existe-t-il un moyen de convertir d'autres types de données primitifs en objets? Oui, Java a des classe wrapper pour différents types de données primitives. Nous les examinerons dans la prochaine section de cet article.

Autoboxing

À ce stade, nous savons ce qu'est la boxe. Voyons maintenant ce qu’est l’autobox. lorsque le processus de boxe est effectué par le compilateur sans être explicitement mentionné, est appelé autoboxing.



Comprenons cela avec un exemple:

import java.util.ArrayList import java.util.Listclass Box {public static void main (String [] args) {List Mylist = new ArrayList () for (int i = 0 i<10 i++) Mylist.add(i) } }

Comme nous en avons discuté plus tôt accepte uniquement les objets et le type de données primitif ne fonctionne pas. Dans le programme ci-dessus, nous n'avons pas converti le type en objets de type Integer, mais le programme s'exécute sans aucune erreur. Comment? La réponse à cette question est que le compilateur a automatiquement effectué le processus de boxe avant d'ajouter la valeur à «Mylist», d'où le nom Autoboxing.

Mylist.add (Integer.valueOf (i))

La ligne de code ci-dessus est ajoutée dans notre programme par le compilateur.

Remarque- Dans la ligne de code ci-dessus, le nom de la classe «Integer» est mentionné avant la méthode valueOf () car valueOf () est une méthode statique. Pour plus d'exemples, reportez-vous au docs .

Unboxing et Autounboxing

Nous avons vu comment du type de données primitif sont convertis en objets. Mais ce n'est que la moitié de l'histoire. L'autre moitié de l'histoire consiste à convertir un objet d'une classe wrapper de type en son type de données primitif est appelé déballage .

Par exemple-

Integer FirstNumber = new Integer (1) int SecondNumber = FirstNumber.intValue () System.out.println (SecondNumber)

Sortie - 1

Autounboxing- Lorsque le processus de déballage effectué par le compilateur sans le mentionner explicitement est appelé Autounboxing.

Par exemple-

Nombre entier = new Integer (20) int num = Number

Le code ci-dessus est un exemple d'Autounboxing. Dans la section suivante, nous en apprendrons davantage sur les classes wrapper.

Classes de wrapper

Nous avons converti en objet de type variable intl Integer de type. Cette classe entière est une classe wrapper. En Java, une classe wrapper est disponible pour chaque . Ces classes wrapper nous aident à convertir une variable de type primitif en objet de type classe wrapper respectif. Les méthodes des classes wrapper sont utiles pour manipuler les valeurs.

Le tableau ci-dessous nous indique le type de données primitif et sa classe wrapper respective.

Type primitif Classe Wrapper

booléen

Booléen

au revoir

programmation de socket dans un exemple java

Octet

carboniser

Personnage

flotte

Flotte

int

Entier

longue

Longue

court

Court

double

Double

Notez la capitalisation dans les classes Wrapper.

Nous sommes donc arrivés à la fin de cet article sur «Autoboxing en Java». Si vous souhaitez en savoir plus, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate et Spring.

Vous avez une question pour nous? Merci de le mentionner dans la section commentaires de ce blog «autoboxing en Java» et nous vous répondrons dans les plus brefs délais.