Wrapper Class i Java - Autoboxing, Unboxing och konvertering

Innehållsförteckning:

Anonim

Introduktion till Wrapper Class i Java

Wrapper Class är en viktig klass i java.lang-biblioteket. Objekt i omslagsklass skapar ett omslag för de primitiva datatyperna. När du skapar ett objekt av omslagsklass skapas utrymme i minnet där primitiv datatyp lagras.

Wrapper-klassen tillhandahåller några funktioner för konvertering av objektet till primitiva data och primitiva data till objekt, dvs. Konvertering från objekt till primitiva data och primitiva data till ett objekt sker automatiskt. Primitiv datatyp avser int, float, char, double, byte, etc.

Syntax:

Nedanstående förklaring visar hur en Wrapper-klass fungerar i java-programmet.

t ex int i = 100;

I det nedan angivna exemplet kan vi se att jag är heltaldatatyp. En del tid i java-heltal måste passeras som en typ av objekt. I det här fallet kan vi använda omslagsklassen för att konvertera ett heltal till ett objekt.

Integer intVal = new Integer(i);

I ovan angivna syntax kan vi se hur en primitiv datatyp konverteras till ett objekt med ett heltalsklassobjekt. Kan också säga att primitiv datatyp är lindad som ett objekt.

Användningar av Wrapper Class i Java

  1. Wrapper Class kan användas för att konvertera ett objekt till en primitiv datatyp eller vice versa.
  2. Användningen av omslagsklasser förbättrar programmets prestanda.
  3. Wrapper-klassen hjälper till att serialisera objekt och vice versa, det kan konvertera primitiva data till objekt. Ibland måste vi strömma objekt, i så fall kan omslagsklass konvertera det till serieformat.
  4. Vissa viktiga metoder tillhandahålls av omslagsklassen, som används för att utföra sökning och sortering i samlingarna.
  5. Subtraktion och tillägg, dessa typer av operationer kan inte ändra det gamla värdet på primärt heltal för Wrapper-klass, det är därför Wrapper-klassen kallas immutable.
  6. Inslagningsklass som används i multiträdningsprocessen eftersom multiträdningsprocessen behöver ett objekt för synkronisering av processer. Wrapper-klass konverterar olika datatyp till ett objekt.

På grundval av JavaAPI håller Wrapper-klasshierarkin Object högst upp i de olika primitiva klasserna. Number, Character & Boolean kommer på den andra nivån strax efter objektet. På den tredje nivån kommer Byte, Short, Int, Long, Float, Double under numret Datatyp.

Wrapper-klasser använder följande två mekanismer Autoboxing & unboxing för konvertering / inslagning av datatypen eller konvertering av ett objekt till den primitiva datatypen.

Autoboxing: Autoboxing avser automatisk konvertering av den primitiva datatypen till objekt med hjälp av Wrapper-klasser. Det kallas Autoboxing. I de nedan angivna exemplen, konverterade int till heltalobjekt & i exempel c konverteras olika primitiva datatyper till motsvarande objekt.

Unboxing: Unboxing är den omvända processen för Autoboxing. Att automatiskt konvertera omslagsklassobjekt till motsvarande primitivt datatyp kallas Unboxing. I det nedan angivna exemplet b konverteras Integer-objektet till int-primitiv datatyp.

Exempel på Wrapper Class i Java

Nedan finns de olika exemplen på Wrapper Class i Java.

Exempel 1

I nedanstående exempel kan vi se hur manuell konvertering sker genom omslagsklass från int i till ett objekt k.

Koda:

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

Produktion:

I det ovan angivna exemplet kan vi se hur konverteringen sker exakt.

Exempel 2

I nedanstående exempel kan vi se att denna konverteringsprocess ibland sker automatiskt, dvs. känd som autoboxing.

Koda:

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

Produktion:

I det ovan givna exemplet konverteras int-värde implicit till ett objekt. Dessutom kan detta värde komma från ArrayList.

Exempel 3

I det här exemplet kommer vi att genomföra implementeringen av Unboxing. Upplåsning är den omvända processen för autoboxning.

Koda:

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

Produktion:

I det ovan givna exemplet konverteras ArrayList-objektfältet till k primitiv datatyp, dvs int k.

Exempel 4

Följande exempel har alla detaljer om Autoboxing & Unboxing.

Koda:

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

Produktion:

I ovanstående program kan vi se implementeringen av Wrapper-klasser. Inslagningsklasser konverterar den primitiva datatypen till objekt och objekt till den primitiva datatypen. Omslagsklassen tillhandahåller separata klasser för varje primitiv datatyp.

Slutsats

Genom Wrapper-klasserna kan vi enkelt förstå autoboxing & unboxing. Hur konvertering sker från primitivt till objekt och vice versa vilket lätt kan förstås genom Wrapper-klasser. För var och en av de primitiva datatyperna finns det en särskild klass i java.

Rekommenderad artikel

Detta är en guide till Wrapper Class i Java. Här diskuterar vi syntax och användning av omslagsklassen i Java tillsammans med olika exempel och kodimplementering. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Hur fungerar ärendeuttalande i Java?
  2. Vad är Generics i Java?
  3. Begreppet serialisering i Java
  4. Java Top 8 intervjufrågor
  5. Java-distributionsverktyg
  6. Exempel och hur generiker fungerar i C #