Classi wrapper in Java: che cos'è, perché ne abbiamo bisogno?

Pubblicato: 2021-12-23

Java lavora sui concetti di OOP – Object-Oriented Programming. Nonostante ciò, Java non può essere considerato un linguaggio completo orientato agli oggetti. Questo perché Java funziona con otto tipi di dati primitivi: byte, short, int, float, long e double. Questi tipi di dati Java non sono oggetti, il che rende Java non completamente orientato agli oggetti.

Tuttavia, le classi wrapper forniscono un buon modo per aggirare questa limitazione convertendo i tipi di dati primitivi in ​​oggetti. In questo modo, le classi wrapper rendono il codice Java completamente orientato agli oggetti.

Questo è uno dei concetti più importanti da comprendere per tutti a cominciare dal linguaggio di programmazione Java. Ti aiutiamo in questo attraverso questo articolo. Per prima cosa, esamineremo le classi wrapper in Java e perché ne abbiamo bisogno e i loro vantaggi. Entro la fine dell'articolo, sarai in grado di lavorare con le classi wrapper senza essere confuso!

Scopri i programmi di sviluppo software online delle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Sommario

Classe wrapper in Java

Gli sviluppatori di software spesso si imbattono in situazioni che richiederebbero loro di non lavorare con tipi di dati primitivi ma con oggetti. Per ottenere questa conversione del tipo di dati primitivo in oggetti, Java fornisce ai programmatori il concetto di classe wrapper. Questa classe aiuta nella conversione da primitivo a oggetto così come da oggetto a tipo di dati primitivo.

La creazione di una classe wrapper crea automaticamente un nuovo campo in cui sono archiviati i tipi di dati primitivi. L'oggetto della classe wrapper contiene quindi il tipo di dati primitivo. Questo processo di conversione di tipi di dati primitivi in ​​oggetti utilizzando classi wrapper è noto come boxing. Quando si lavora con le classi wrapper, è necessario passare il valore del tipo di dati primitivo al costruttore della classe wrapper.

Le sei classi wrapper – byte, short, int, float, long e double – sono tutte sottoclassi della classe number, che è una classe astratta. Le restanti due classi wrapper – booleana e carattere – sono sottoclassi della classe oggetto.

Ecco un breve riepilogo della classe wrapper per diversi tipi di dati primitivi, insieme all'argomento costruttore richiesto per creare la classe wrapper:

Perché sono necessarie le classi wrapper in Java?

Le classi wrapper in Java sono utili per le situazioni in cui il programma richiede di lavorare con un oggetto invece di un tipo di dati primitivo. In questo senso, le classi wrapper aiutano il programma Java a essere orientato agli oggetti al 100%. A parte questo, le classi wrapper in Java sono necessarie per i seguenti motivi:

  • Per associare i valori di diversi tipi di dati primitivi in ​​oggetti. Questo aiuta a eseguire operazioni complesse e lavorare con raccolte come HashMap, ArrayList, ecc.
  • Per fornire diverse funzioni di utilità che possono essere utilizzate con tipi di dati primitivi.
  • Poiché ai tipi di dati primitivi non può essere assegnato un valore null, ma possono farlo le classi wrapper, fungono anche da soluzione alternativa per assegnare un valore null a qualsiasi tipo di dati primitivo.

Quali sono i vantaggi dell'utilizzo delle classi wrapper in Java?

La classe Wrapper in Java offre i seguenti vantaggi principali:

  • Aiutano il codice a essere serializzabile. Questo perché la serializzazione richiede la conversione di oggetti in flussi. Se i programmatori vogliono serializzare un valore primitivo, deve prima essere convertito in oggetti usando le classi wrapper.
  • Aiutano con la sincronizzazione perché la sincronizzazione multithreading in Java richiede oggetti.
  • I dati primitivi possono trarre vantaggio da varie classi di utilità del pacchetto Java.util.
  • È possibile lavorare con i framework di raccolta utilizzando le classi wrapper.
  • La conversione di tipi di dati primitivi in ​​oggetti consente di modificare il valore all'interno della funzione utilizzando un metodo call-by-value.
  • Le classi wrapper in Java assicurano che il programma sia polimorfico.

Esempi

1. Conversione di un tipo primitivo in oggetto

Esempio di classe pubblica{

public static void main(String args[]){

//Conversione della primitiva float in un oggetto Float

galleggiante n=10,10;

Float obj=Float.valueOf(n);

System.out.println(n+ ” “+ obj);

}

}

Produzione:

10.10 10.10

Come mostra l'output, sia i dati primitivi che l'oggetto hanno lo stesso valore. Quindi, puoi accedere allo stesso valore usando obj o n, qualunque cosa tu preferisca, a seconda della situazione.

2. Conversione dell'oggetto in tipo primitivo

Esempio di classe pubblica{

public static void main(String args[]){

//Creazione dell'oggetto Wrapper

Float o= new Float(50,00);

//Conversione dell'oggetto in primitivo

float n= obj.floatValue();

System.out.println(n+ ” “+ o);

}

}

Produzione:

50.00 50.00

L'oggetto float è stato riconvertito nel tipo di dati primitivo float nell'esempio precedente. Allo stesso modo, puoi eseguire molte conversioni e manipolazioni usando le classi wrapper in Java. Esistono diverse funzioni con cui funzionano le classi wrapper. Questa discussione esula dallo scopo di questo articolo, ma ti consigliamo di esplorare in modo approfondito le classi wrapper, insieme alle diverse funzioni con cui dovrai lavorare quando gestisci le classi wrapper.

In conclusione

Come le classi wrapper, ci sono anche molti altri concetti e idee essenziali che devi padroneggiare per eccellere nello sviluppo di software. In upGrad, abbiamo guidato vari studenti in tutto il mondo e li abbiamo aiutati a iniziare la loro carriera nel campo desiderato. Le nostre sessioni di formazione personalizzate e le discussioni di case study guidate da esperti aiutano gli studenti a rimanere al passo con tutti i concetti acquisiti.

Per aiutare gli studenti a dare il via alla loro carriera di sviluppo software, ti presentiamo un programma online di 5 mesi creato da esperti e leader del settore: Certificazione PG collegata al lavoro in ingegneria del software . Oltre a insegnarti tutte le sfumature del campo, il programma ti aiuterà anche a farti inserire nelle migliori aziende. Quindi dai un'occhiata a questo corso e iscriviti oggi!

Perché sono necessarie classi wrapper in Java?

Le classi wrapper sono fondamentali in Java perché aiutano un programma Java a essere completamente orientato agli oggetti. I tipi di dati primitivi in ​​Java non sono oggetti, per impostazione predefinita. Devono essere convertiti in oggetti usando le classi wrapper.

Quante classi wrapper sono disponibili in Java?

Il numero di classi wrapper in Java è lo stesso del numero di tipi di dati primitivi supportati da Java, cioè 8.

Le classi wrapper in Java sono mutabili?

Sì, le classi wrapper sono mutabili.