Introduzione alla classe Wrapper in Java
La classe Wrapper è una classe importante della libreria java.lang. Gli oggetti classe wrapper creano un wrapper per i tipi di dati primitivi. Durante la creazione di un oggetto di classe wrapper, viene creato spazio nella memoria in cui è archiviato il tipo di dati primitivo.
La classe wrapper fornisce alcune funzionalità per la conversione dell'oggetto in dati primitivi e dati primitivi in oggetto, ad esempio boxing / unboxing. La conversione da oggetti a dati primitivi e dati primitivi a un oggetto avviene automaticamente. Il tipo di dati primitivo si riferisce a int, float, char, double, byte, ecc.
Sintassi:
Di seguito viene fornita una dichiarazione che mostra come funziona una classe Wrapper nel programma java.
es. int i = 100;
Nell'esempio riportato di seguito, possiamo vedere che i è un tipo di dati intero. È necessario passare un po 'di tempo nell'intero java come tipo di oggetto. In questo caso, possiamo usare la classe wrapper per convertire un numero intero in un oggetto.
Integer intVal = new Integer(i);
Nella sintassi sopra indicata, possiamo vedere come un tipo di dati primitivo viene convertito in un oggetto utilizzando un oggetto di classe Integer. Può anche dire che il tipo di dati primitivo è racchiuso come oggetto.
Usi della classe Wrapper in Java
- La classe wrapper può essere utilizzata per convertire un oggetto in un tipo di dati primitivo o viceversa.
- L'uso delle classi wrapper migliora le prestazioni del programma.
- La classe wrapper aiuta nella serializzazione dell'oggetto e viceversa, può convertire dati primitivi in oggetti. A volte è necessario eseguire lo streaming di oggetti, in tal caso, la classe wrapper può convertirlo in formato di serializzazione.
- Alcuni metodi importanti sono forniti dalla classe wrapper, che viene utilizzata per eseguire la ricerca e l'ordinamento nelle raccolte.
- Sottrazione e aggiunta, questi tipi di operazioni non possono modificare il vecchio valore dell'intero primitivo della classe Wrapper ed è per questo che la classe Wrapper è conosciuta come immutabile.
- Classe wrapper utilizzata nel processo di multithreading, poiché il processo di multithreading richiede un oggetto per la sincronizzazione dei processi. La classe wrapper converte diversi tipi di dati in un oggetto.
Sulla base di JavaAPI, la gerarchia di classi Wrapper mantiene Object in cima alle diverse classi primitive. Number, Character & Boolean arriva al secondo livello subito dopo l'Oggetto. Al terzo livello Byte, Short, Int, Long, Float, Double rientrano nel tipo di dati Numero.
Le classi wrapper utilizzano i due meccanismi seguenti: Autoboxing e unboxing per la conversione / wrapping del tipo di dati o la conversione di un oggetto nel tipo di dati primitivo.
Autoboxing: Autoboxing si riferisce alla conversione automatica del tipo di dati primitivo in oggetto utilizzando le classi Wrapper. È noto come Autoboxing. Negli esempi riportati di seguito, int convertiti in oggetto intero e negli esempi c, un diverso tipo di dati primitivo viene convertito nell'oggetto corrispondente.
Unboxing: Unboxing è il processo inverso di Autoboxing. La conversione automatica dell'oggetto classe wrapper nel tipo di dati primitivo corrispondente è noto come Unboxing. Nell'esempio b riportato di seguito, l'oggetto Integer viene convertito in tipo di dati int primitivo.
Esempi di classe wrapper in Java
Di seguito sono riportati i diversi esempi di Wrapper Class in Java.
Esempio 1
Nell'esempio riportato di seguito, possiamo vedere come avviene la conversione manuale attraverso la classe wrapper da int i a un oggetto k.
Codice:
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);
)
)
Produzione:
Nell'esempio sopra riportato, possiamo vedere come avviene esplicitamente la conversione.
Esempio n. 2
Nell'esempio che segue, possiamo vedere che questo processo di conversione a volte ha luogo automaticamente, noto come autoboxing.
Codice:
import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
int j = 500;
ArrayList arrValues = new ArrayList();
arrValues.add(j); // autoboxing takes place implicitly
System.out.println(arrValues.get(0));
)
)
Produzione:
Nell'esempio sopra riportato, il valore int viene convertito in oggetto implicitamente come oggetto. Inoltre, questo valore può ottenere dall'ArrayList.
Esempio n. 3
In questo esempio, esamineremo l'implementazione di Unboxing. Unboxing è il processo inverso di Autoboxing.
Codice:
import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
ArrayList 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);
)
)
Produzione:
Nell'esempio sopra riportato, il campo dell'oggetto ArrayList viene convertito in k tipo di dati primitivo, cioè int k.
Esempio n. 4
Il seguente esempio fornito contiene tutti i dettagli di Autoboxing e Unboxing.
Codice:
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);
)
)
Produzione:
Nel programma sopra riportato, possiamo vedere l'implementazione delle classi Wrapper. Le classi wrapper stanno convertendo il tipo di dati primitivo in oggetto e oggetto nel tipo di dati primitivo. La classe wrapper fornisce classi separate per ciascun tipo di dati primitivo.
Conclusione
Attraverso le classi Wrapper, possiamo facilmente capire l'autoboxing e unboxing. Come avviene la conversione dalla primitiva all'oggetto e viceversa, che può essere facilmente compreso attraverso le classi Wrapper. Per ciascuno dei tipi di dati primitivi, esiste una classe dedicata in java.
Articolo raccomandato
Questa è una guida alla classe Wrapper in Java. Qui discutiamo la sintassi e gli usi della classe wrapper in Java insieme a diversi esempi e implementazione del codice. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -
- Come funziona Case Statement in Java?
- Che cos'è Generics in Java?
- Il concetto di serializzazione in Java
- Le 8 principali domande di intervista a Java
- Strumenti di distribuzione Java
- Esempi e come funzionano i generici in C #