Differenza chiave: classe wrapper e tipo primitivo in Java
Java è un popolare linguaggio di programmazione utilizzato per sviluppare varie applicazioni. Un vantaggio di Java è che supporta la programmazione orientata agli oggetti (OOP). Utilizzando OOP, il programma o il software possono essere modellati utilizzando oggetti. Una classe viene utilizzata come progetto per creare un oggetto. Nella programmazione è necessario memorizzare i dati. Le posizioni di memoria riservate per memorizzare i dati sono note come variabili. Ogni variabile ha un tipo di dati specifico. Ci sono otto tipi primitivi forniti dal linguaggio Java. Sono short, byte, int, float, double, char, boolean. A volte, è necessario convertire il tipo primitivo in un oggetto e l'oggetto di nuovo nel tipo primitivo. Le classi wrapper vengono utilizzate per questa conversione. Questo articolo discute la differenza tra classe wrapper e tipo primitivo in Java. Il differenza fondamentale tra la classe wrapper e il tipo primitivo in Java è quello la classe wrapper viene utilizzata per convertire un tipo primitivo in un oggetto e un oggetto di nuovo in un tipo primitivo mentre un tipo primitivo è un tipo di dati predefinito fornito dal linguaggio di programmazione Java.
Cos'è la classe Wrapper in Java?
Una classe Wrapper in Java viene utilizzata per convertire un tipo di dati primitivo in un oggetto e un oggetto in un tipo primitivo. Anche i tipi di dati primitivi vengono utilizzati per memorizzare i tipi di dati primari, le strutture di dati come gli elenchi di array e i vettori memorizzano gli oggetti. Pertanto, è necessario utilizzare classi wrapper per la conversione. Le classi wrapper corrispondenti per i tipi primitivi char, byte, short e int sono Character, Byte, Short e Integer. Le classi wrapper corrispondenti per long, float, double e boolean sono Long, Float, Double e Boolean.
Figura 01: Programma Java che converte le classi wrapper in tipi primitivi
Secondo il programma sopra, intobj è un oggetto di classe wrapper Integer. floatobj è un oggetto classe wrapper Float. Il doubleobj è un oggetto di classe Double wrapper. L'oggetto Integer viene convertito in una primitiva int usando intValue(). Allo stesso modo, l'oggetto Float viene convertito in un float primitivo utilizzando floatValue(). L'oggetto Double viene convertito nella primitiva double usando doubleValue(). Se il programmatore scrive l'istruzione come int i=intobj; il compilatore scrive internamente intobj. Value(). Il processo di conversione automatica di un oggetto di una classe wrapper nel suo tipo primitivo corrispondente è noto come unboxing. Raccolte come ArrayLists utilizzano la classe Wrapper perché memorizzano oggetti.
Che cos'è il tipo primitivo in Java?
I tipi di dati primitivi sono i tipi di dati predefiniti forniti dal linguaggio di programmazione Java. Ci sono otto tipi primitivi. Sono byte, short, int, long, float, double, boolean e char. Il tipo di dati byte viene utilizzato per memorizzare un intero in complemento a due con segno a 8 bit. Il tipo di dati short viene utilizzato per memorizzare l'intero in complemento a due con segno a 16 bit. Un tipo di dati int viene utilizzato per memorizzare l'intero in complemento a due con segno a 32 bit, mentre il tipo di dati long viene utilizzato per memorizzare l'intero in complemento a due con segno a 64 bit. Il float viene utilizzato per memorizzare un valore in virgola mobile a 32 bit a precisione singola e il double viene utilizzato per memorizzare un valore in virgola mobile a 64 bit a doppia precisione. Il booleano è usato per rappresentare vero o falso. Il carattere viene utilizzato per memorizzare un singolo carattere. Questi sono gli otto tipi primitivi in Java.
Figura 02: Programma Java che converte i tipi primitivi in classi wrapper
Secondo il programma sopra, num1 è un tipo int. Viene convertito in un intero passando num1 a Integer.valueOf(). Il float1 può memorizzare valori float. Viene convertito in tipo Float passando float1 in Float.valueOf(). Allo stesso modo, double1 può memorizzare valori doppi. Viene convertito in tipo Double passando double1 in Double.valueOf(). Se il programmatore scrive l'istruzione come Interger intobj=num1; il compilatore scrive internamente Integer.valueOf(num1); Il processo di conversione automatica del tipo primitivo nell'oggetto della classe wrapper corrispondente è noto come autoboxing.
Qual è la somiglianza tra la classe wrapper e il tipo primitivo in Java?
Sia la classe Wrapper che il tipo primitivo in Java possono essere utilizzati per memorizzare i dati nella programmazione
Qual è la differenza tra la classe wrapper e il tipo primitivo in Java?
Classe wrapper vs tipo primitivo in Java |
|
La classe Wrapper fornisce un meccanismo per convertire il tipo primitivo in oggetto e l'oggetto in tipo primitivo. | Un tipo primitivo è un tipo di dati predefinito fornito da Java. |
Classe associata | |
Una classe Wrapper viene utilizzata per creare un oggetto; quindi ha una classe corrispondente. | Un tipo Primitivo non è un oggetto quindi non appartiene a una classe. |
Valori Null | |
Gli oggetti della classe wrapper consentono valori nulli. | Un tipo di dati primitivo non consente valori nulli. |
Memoria richiesta | |
La memoria richiesta è superiore ai tipi primitivi. L'indice cluster non richiede uno spazio aggiuntivo. | La memoria richiesta è inferiore rispetto alle classi wrapper. |
Collezioni | |
Una classe Wrapper può essere utilizzata con una raccolta come ArrayList, ecc. | Un tipo primitivo non viene utilizzato con le raccolte. |
Riepilogo – Classe wrapper vs tipo primitivo in Java
Il linguaggio Java fornisce otto tipi di dati primitivi. A volte è necessario convertire i tipi primitivi in oggetti e anche riconvertire gli oggetti in primitive. Le classi wrapper possono essere utilizzate per raggiungere tale compito. La differenza tra la classe wrapper e il tipo primitivo in Java è che la classe wrapper viene utilizzata per convertire un tipo primitivo in un oggetto e un oggetto di nuovo in un tipo primitivo mentre un tipo primitivo è un tipo di dati predefinito fornito dal linguaggio di programmazione Java.