Cos'è l'Autoboxing in Java? Con Esempi

Pubblicato: 2023-01-28

Nel mondo contemporaneo, Java è la scelta rinomata per lo scripting di applicazioni Android. Trova anche un'ampia domanda nell'ambiente di apprendimento automatico, nelle applicazioni cloud e nella tecnologia IOT. Gli sviluppatori devono avere una conoscenza approfondita delle recenti tendenze nella programmazione Java. Una prospettiva professionale redditizia è assicurata per gli sviluppatori Java perché il linguaggio ha una solida presenza nell'azienda. Java non è solo un linguaggio orientato agli oggetti leader nel mercato delle applicazioni mobili Android, ma anche nel campo del mercato back-end.

Sommario

Nozioni di base sull'autoboxing in Java:

Durante lo scripting di un programma, i tipi di dati primitivi vengono utilizzati nella maggior parte dei linguaggi di programmazione. Tuttavia, nei linguaggi di programmazione orientati agli oggetti come Java, i tipi di dati primitivi non sono efficaci in alcuni scenari e non sono all'altezza. Per superare le limitazioni dei tipi di dati primitivi, vengono utilizzati i wrapper. Questo fenomeno si chiama autoboxing. Cerchiamo di discutere di più sull'autoboxing in Java nelle sezioni successive.

Dai un'occhiata ai nostri corsi di tecnologia gratuiti per avere un vantaggio sulla concorrenza.

Esplora i nostri famosi corsi di ingegneria del software

Master of Science in Computer Science presso LJMU e IIITB Programma di certificazione della sicurezza informatica Caltech CTME
Bootcamp di sviluppo completo dello stack Programma PG in Blockchain
Programma Executive PG in sviluppo Full Stack
Visualizza tutti i nostri corsi di seguito
Corsi di ingegneria del software

Autoboxing e Autounboxing:

L'autoboxing è il processo di conversione di un valore primitivo in un oggetto di una classe wrapper. Ad esempio, un tipo di dati int viene convertito in una classe intera. La funzione di autoboxing viene eseguita da un compilatore Java se il valore primitivo è:

  • Assegnato a una variabile della rispettiva classe wrapper.
  • Passato come argomento a un metodo che utilizza un oggetto della rispettiva classe wrapper.

L'autoboxing è un'inversione della funzione di autoboxing. La conversione di un oggetto di tipo wrapper nel rispettivo valore primitivo viene definita unboxing. Consideriamo un esempio di un oggetto Integer convertito in un tipo di dati int. Il compilatore Java esegue l'unboxing quando un oggetto della classe wrapper è:

  • Assegnata una variabile del rispettivo tipo primitivo.
  • Passato come argomento a un metodo che richiede il valore del tipo primitivo corrispondente.

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzata o programmi di master per accelerare la tua carriera.

Competenze di sviluppo software richieste

Corsi JavaScript Corsi Java di base Corsi di strutture dati
Corsi Node.js Corsi SQL Corsi di sviluppo full stack
Corsi NFT Corsi DevOps Corsi sui Big Data
Corsi React.js Corsi di sicurezza informatica Corsi di cloud computing
Corsi di progettazione di database Corsi Python Corsi di criptovaluta

Autobox in dettaglio:

I termini boxe e autoboxing sono usati alternativamente in molti casi per descrivere lo stesso concetto. Tuttavia, c'è una sottile differenza tra i due termini. Il termine "boxing" si riferisce all'avvolgimento di un tipo di dati primitivo per formare un oggetto. Consideriamo un esempio per comprendere questo concetto. Considera l'istruzione del codice Java scritta di seguito.

int PrimoNumero = 1;

In questa istruzione, la variabile 'FirstNumber' è di tipo di dati int che è primitivo. Può essere convertito in un oggetto utilizzando la seguente dichiarazione.

Integer SecondNumber = new Integer(2);

La variabile SecondNumber nell'istruzione precedente non è del tipo di dati int primitivo. Invece, è un oggetto Integer. Questo processo di conversione di tipi primitivi di dati in un oggetto viene definito boxing. Il modo più semplice per eseguire questa operazione è sviluppare una classe che contenga un singolo attributo di tipo di dati int. All'attributo class viene assegnato un costruttore di tipo int value. Diversi metodi vengono utilizzati per manipolare il valore int. Le classi wrapper in Java possono essere utilizzate per abilitare la conversione di altri tipi di dati in un oggetto.

L'autoboxing è la funzione eseguita automaticamente dal compilatore senza menzionarla esplicitamente.

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

Questa è la riga aggiunta dal compilatore nel nostro programma.

Nell'istruzione di codice precedente, il nome della classe 'Integer' è specificato prima di menzionare il metodo valueOf() poiché valueOf() è un metodo statico.

Leggi i nostri articoli popolari relativi allo sviluppo software

Come implementare l'astrazione dei dati in Java? Cos'è la classe interna in Java? Identificatori Java: definizione, sintassi ed esempi
Comprensione dell'incapsulamento in OOPS con esempi Spiegazione degli argomenti della riga di comando in C Le 10 principali funzionalità e caratteristiche del cloud computing nel 2022
Polimorfismo in Java: concetti, tipi, caratteristiche ed esempi Pacchetti in Java e come usarli? Tutorial Git per principianti: impara Git da zero

Cos'è l'unboxing in Java?

Ora che abbiamo compreso il processo di conversione dei tipi di dati primitivi in ​​oggetti, esaminiamo il processo che svolge la funzione inversa del boxing. Unboxing, come accennato in precedenza, si riferisce al processo di conversione di un oggetto di tipo classe wrapper nei suoi tipi di dati primitivi.

Quando il processo di unboxing viene eseguito automaticamente dal compilatore senza menzionarlo esplicitamente nel programma, si parla di Auto unboxing. Consideriamo l'esempio mostrato di seguito per comprendere l'unboxing automatico.

Ulteriori informazioni sulle classi wrapper:

Nell'esempio per l'autoboxing, la variabile I è di tipo di dati int e l'oggetto Integer è una classe wrapper. La classe wrapper in Java è disponibile per tutti i tipi di dati primitivi. Queste classi abilitano l'utente nella conversione di una variabile dal tipo di dato primitivo al corrispondente oggetto di tipo classe wrapper. I metodi della classe wrapper vengono utilizzati nella manipolazione dei valori. I tipi di dati primitivi e le rispettive classi wrapper sono riepilogati nella tabella seguente. Si noti che il nome delle classi wrapper inizia con una lettera maiuscola.

Tipo di dati primitivo

Classe wrapper corrispondente

byte Byte
booleano Booleano
char Carattere
int Numero intero
galleggiante Galleggiante
Corto Corto
Lungo Lungo
Doppio Doppio

Meriti di Autoboxing e unboxing automatico in Java:

  • Il processo di autoboxing e unboxing consente ai programmatori di scrivere un codice ben strutturato e facilmente leggibile.
  • Il processo consente inoltre agli utenti di passare alternativamente tra i tipi di dati primitivi e gli oggetti della classe wrapper. Pertanto, il typecasting esplicito non è richiesto.

Se sei interessato a saperne di più su Java, sviluppo di software full-stack, dai un'occhiata al Programma PG esecutivo di Grad & IIIT-B in Sviluppo software - Specializzazione nello sviluppo di stack completo, progettato per professionisti che lavorano e offre oltre 500 ore di formazione rigorosa , 9+ progetti e incarichi, status di Alumni IIIT-B, pratici progetti capstone pratici e assistenza lavorativa con le migliori aziende.

Vuoi condividere questo articolo?

Preparati per una carriera del futuro

Candidati ora per i master in ingegneria del software