Innpakningsklasse i Java - Autoboksing, unboxing og konvertering

Innholdsfortegnelse:

Anonim

Introduksjon til Wrapper Class i Java

Wrapper Class er en viktig klasse i java.lang-biblioteket. Innpakningsklasseobjekter lager en innpakning for de primitive datatypene. Mens du oppretter et objekt med innpakningsklasse, skapes det plass i minnet der primitiv datatype er lagret.

Innpakningsklasse gir noen funksjoner for konvertering av objektet til primitive data og primitive data til objekt, dvs. boksing / unboxing. Konvertering fra objekter til primitive data og primitive data til et objekt skjer automatisk. Primitiv datatype refererer til int, float, char, double, byte, etc.

syntaks:

Under gitt erklæring viser hvordan en Wrapper-klasse fungerer i java-programmet.

f.eks. int i = 100;

I det nedenfor gitte eksemplet kan vi se at jeg er heltall datatype. Noe tid i Java-heltall må føres som en type objekt. I dette tilfellet kan vi bruke innpakningsklassen til å konvertere et heltall til et objekt.

Integer intVal = new Integer(i);

I den ovenfor gitte syntaks kan vi se hvordan en primitiv datatype konverteres til et objekt ved hjelp av et heltalklasseobjekt. Kan også si at primitiv datatype er pakket inn som et objekt.

Bruker av innpakningsklasse i Java

  1. Wrapper Class kan brukes til å konvertere et objekt til en primitiv datatype eller omvendt.
  2. Bruken av innpakningsklasser forbedrer ytelsen til programmet.
  3. Innpakningsklasse hjelper til med serialisering av objekt og omvendt, det kan konvertere primitive data til objekter. Noen ganger trenger vi å streame objekter, i så fall kan innpakningsklasse konvertere det til serialiseringsformat.
  4. Noen viktige metoder er gitt av innpakningsklassen, som brukes til å utføre søk og sortering i samlingene.
  5. Subtraksjon og tillegg, disse typer operasjoner kan ikke endre den gamle verdien av primært heltall for innpakningsklasse, det er grunnen til at innpakningsklasse er kjent som uforanderlig.
  6. Innpakningsklasse som brukes i multitrådeprosessen, ettersom multetrådprosessen trenger et objekt for synkronisering av prosesser. Innpakningsklasse konverterer forskjellig datatype til et objekt.

På bakgrunn av JavaAPI holder Wrapper-klasseshierarkiet Object øverst i de forskjellige primitive klassene. Number, Character & Boolean kommer på andre nivå like etter objektet. På det tredje nivået kommer Byte, Short, Int, Long, Float, Double inn under datatypen Number.

Innpakningsklasser bruker følgende to mekanismer Autoboxing & unboxing for konvertering / innpakning av datatypen eller konvertering av et objekt til den primitive datatypen.

Autoboxing: Autoboxing refererer til automatisk konvertering av den primitive datatypen til objekt ved hjelp av Wrapper-klasser. Det er kjent som Autoboxing. I de nedenfor gitte eksempler, int konvertert til Integer-objekt og i eksempler c, konverteres forskjellige primitive datatyper til det tilsvarende objektet.

Unboxing: Unboxing er den omvendte prosessen med Autoboxing. Å automatisk konvertere wrapper class-objekt til den tilsvarende primitive datatypen er kjent som Unboxing. I det nedenfor gitte eksempelet b konverteres Integer-objektet til int-primitiv datatype.

Eksempler på Wrapper Class i Java

Nedenfor er de forskjellige eksemplene på Wrapper Class i Java.

Eksempel 1

I det nedenfor gitte eksemplet kan vi se hvordan manuell konvertering foregår gjennom innpakningsklasse fra int i til et objekt k.

Kode:

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);
)
)

Produksjon:

I eksemplet ovenfor kan vi se hvordan konvertering foregår eksplisitt.

Eksempel 2

I eksemplet nedenfor kan vi se at denne konverteringsprosessen noen ganger foregår automatisk, dvs. kjent som autoboxing.

Kode:

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));
)
)

Produksjon:

I det ovenfor gitte eksemplet konverteres int-verdi implisitt som objekt. Videre kan denne verdien få fra ArrayList.

Eksempel 3

I dette eksemplet vil vi gå gjennom implementeringen av Unboxing. Unboxing er den omvendte prosessen med Autoboxing.

Kode:

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);
)
)

Produksjon:

I det ovenfor gitte eksempelet konverteres ArrayList-objektfeltet til k primitiv datatype, dvs. int k.

Eksempel 4

Følgende gitt eksempel har alle detaljene om Autoboxing & Unboxing.

Kode:

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);
)
)

Produksjon:

I det ovenfor gitte programmet kan vi se implementeringen av Wrapper-klasser. Innpakningsklasser konverterer den primitive datatypen til objekt og objekt til den primitive datatypen. Innpakningsklassen gir separate klasser for hver primitive datatype.

Konklusjon

Gjennom Wrapper-klassene kan vi enkelt forstå autoboxing og unboxing. Hvordan konvertering foregår fra primitiv til objekt og omvendt som lett kan forstås gjennom Wrapper-klasser. For hver av de primitive datatypene er det en dedikert klasse i java.

Anbefalt artikkel

Dette er en guide til Wrapper Class i Java. Her diskuterer vi syntaks og bruk av innpakningsklassen i Java sammen med forskjellige eksempler og kodeimplementering. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Hvordan fungerer saksuttalelse i Java?
  2. Hva er Generics i Java?
  3. Begrepet serialisering i Java
  4. Java Topp 8 intervjuspørsmål
  5. Java-distribusjonsverktøy
  6. Eksempler og hvordan generikker fungerer i C #