Qu'est-ce que l'Autoboxing en Java ? Avec des exemples

Publié: 2023-01-28

Dans le monde contemporain, Java est le choix renommé pour les scripts d'applications Android. Il trouve également une forte demande dans l'environnement d'apprentissage automatique, les applications cloud et la technologie IOT. Les développeurs doivent avoir une compréhension approfondie des tendances récentes de la programmation Java. Une perspective professionnelle lucrative est assurée aux développeurs Java car le langage est solidement implanté dans l'entreprise. Java n'est pas seulement un langage orienté objet de premier plan sur le marché des applications mobiles Android, mais également sur le marché du backend.

Table des matières

Bases de l'autoboxing en Java :

Lors de la création de scripts d'un programme, des types de données primitifs sont utilisés dans la plupart des langages de programmation. Cependant, dans les langages de programmation orientés objet tels que Java, les types de données primitifs ne sont pas efficaces dans certains scénarios et ils sont insuffisants dans le domaine. Pour surmonter les limitations des types de données primitifs, des wrappers sont utilisés. Ce phénomène s'appelle l'autoboxing. Discutons davantage de l'autoboxing en Java dans les sections suivantes.

Consultez nos cours de technologie gratuits pour vous démarquer de la concurrence.

Explorez nos cours populaires de génie logiciel

Master of Science en informatique de LJMU & IIITB Programme de certificat de cybersécurité Caltech CTME
Bootcamp de développement de la pile complète Programme PG dans Blockchain
Programme exécutif PG en développement Full Stack
Voir tous nos cours ci-dessous
Cours de génie logiciel

Autoboxing et Autounboxing :

L'autoboxing est le processus de conversion d'une valeur primitive en objet d'une classe wrapper. Par exemple, un type de données int est converti en une classe entière. La fonction autoboxing est exécutée par un compilateur Java si la valeur primitive est :

  • Affecté à une variable de la classe wrapper respective.
  • Passé comme argument à une méthode qui utilise un objet de la classe wrapper respective.

L'autoboxing est l'inverse de la fonction d'autoboxing. La conversion d'un objet de type wrapper en sa valeur primitive respective est appelée unboxing. Prenons un exemple d'objet Integer converti en un type de données int. Le compilateur Java effectue un déballage lorsqu'un objet de classe wrapper est :

  • Attribué une variable du type primitif respectif.
  • Passé comme argument à une méthode qui requiert la valeur du type primitif correspondant.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Compétences en développement de logiciels à la demande

Cours JavaScript Cours Java de base Cours de Structures de Données
Cours Node.js Cours SQL Cours de développement full stack
Cours NFT Cours DevOps Cours Big Data
Cours React.js Cours de cybersécurité Cours d'informatique en nuage
Cours de conception de bases de données Cours Python Cours de crypto-monnaie

Autoboxing en détail :

Les termes boxing et autoboxing sont alternativement utilisés dans de nombreux cas pour décrire le même concept. Cependant, il existe une différence subtile entre les deux termes. Le terme « boxing » fait référence à l'emballage d'un type de données primitif pour former un objet. Prenons un exemple pour comprendre ce concept. Considérez l'instruction de code Java écrite ci-dessous.

int PremierNombre = 1 ;

Dans cette instruction, la variable 'FirstNumber' est du type de données int qui est primitif. Il peut être converti en objet à l'aide de l'instruction ci-dessous.

Entier SecondNumber = new Integer(2);

La variable SecondNumber dans l'instruction ci-dessus n'est pas du type de données int primitif. Au lieu de cela, il s'agit d'un objet Integer. Ce processus de conversion de types primitifs de données en un objet est appelé boxing. Le moyen le plus simple d'effectuer cette tâche consiste à développer une classe qui contient un seul attribut de type de données int. Un constructeur de valeur de type int est affecté à l'attribut class. Plusieurs méthodes sont utilisées pour manipuler la valeur int. Les classes wrapper de Java peuvent être utilisées pour permettre la conversion d'autres types de données en un objet.

L'autoboxing est la fonction exécutée automatiquement par le compilateur sans le mentionner explicitement.

MaListe.add(Integer.valueOf(i));

C'est la ligne ajoutée par le compilateur dans notre programme.

Dans l'instruction de code ci-dessus, le nom de la classe 'Integer' est spécifié avant de mentionner la méthode valueOf() car valueOf() est une méthode statique.

Lisez nos articles populaires liés au développement de logiciels

Comment implémenter l'abstraction de données en Java ? Qu'est-ce que la classe interne en Java ? Identificateurs Java : définition, syntaxe et exemples
Comprendre l'encapsulation dans OOPS avec des exemples Arguments de ligne de commande en C expliqués Top 10 des fonctionnalités et caractéristiques du cloud computing en 2022
Polymorphisme en Java : concepts, types, caractéristiques et exemples Packages en Java et comment les utiliser ? Tutoriel Git pour les débutants : Apprenez Git à partir de zéro

Qu'est-ce que le déballage en Java ?

Maintenant que nous avons compris le processus de conversion des types de données primitifs en objets, examinons le processus qui fait la fonction inverse de la boxe. Le déballage, comme mentionné précédemment, fait référence au processus de conversion d'un objet de type classe wrapper en ses types de données primitifs.

Lorsque le processus de déballage est effectué automatiquement par le compilateur sans le mentionner explicitement dans le programme, on parle de déballage automatique. Considérons l'exemple ci-dessous pour comprendre le déballage automatique.

En savoir plus sur les classes Wrapper :

Dans l'exemple d'autoboxing, la variable I est de type de données int et l'objet Integer est une classe wrapper. La classe wrapper en Java est disponible pour tous les types de données primitifs. Ces classes permettent à l'utilisateur de convertir une variable du type de données primitif en l'objet correspondant du type de classe wrapper. Les méthodes de la classe wrapper sont utilisées dans la manipulation des valeurs. Les types de données primitifs et leurs classes wrapper respectives sont résumés dans le tableau ci-dessous. Notez que le nom des classes wrapper commence par une lettre majuscule.

Type de données primitif

Classe wrapper correspondante

octet Octet
booléen booléen
carboniser Personnage
entier Entier
flotter Flotter
Court Court
Longue Longue
double Double

Avantages de l'Autoboxing et de l'auto unboxing en Java :

  • Le processus d'autoboxing et d'unboxing permet aux programmeurs de rédiger un code bien structuré et facilement lisible.
  • Le processus permet également aux utilisateurs de basculer alternativement entre les types de données primitifs et les objets de la classe wrapper. Par conséquent, le transtypage explicite n'est pas requis.

Si vous souhaitez en savoir plus sur Java, le développement de logiciels full-stack, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels - Spécialisation en développement Full Stack, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse. , 9+ projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Vous souhaitez partager cet article?

Préparez-vous à une carrière d'avenir

Postulez maintenant pour une maîtrise en génie logiciel