logo

Wrapper-klasser i Java

De omslagsklass i Java tillhandahåller mekanismen att omvandla primitiv till objekt och objekt till primitiv .

Sedan J2SE 5.0, autoboxning och unboxing funktionen konverterar primitiver till objekt och objekt till primitiver automatiskt. Den automatiska omvandlingen av primitiv till ett objekt kallas autoboxning och vice versa unboxing.

Användning av Wrapper-klasser i Java

Java är ett objektorienterat programmeringsspråk, så vi måste hantera objekt många gånger som i samlingar, serialisering, synkronisering, etc. Låt oss se de olika scenarierna där vi behöver använda omslagsklasserna.

sql välj från flera tabeller
    Ändra värdet i Metod:Java stöder endast call by value. Så om vi passerar ett primitivt värde kommer det inte att ändra det ursprungliga värdet. Men om vi konverterar det primitiva värdet i ett objekt kommer det att ändra det ursprungliga värdet.Serialisering:Vi måste konvertera objekten till strömmar för att utföra serialiseringen. Om vi ​​har ett primitivt värde kan vi konvertera det till objekt genom omslagsklasserna.Synkronisering:Java-synkronisering fungerar med objekt i Multithreading.java.util-paket:Paketet java.util tillhandahåller verktygsklasserna för att hantera objekt.Insamlingsram:Java-samlingsramverk fungerar endast med objekt. Alla klasser i samlingsramverket (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque, etc.) behandlar endast objekt.

De åtta klasserna i java.lang paket är kända som wrapper-klasser i Java. Listan över åtta omslagsklasser ges nedan:

Primitiv typOmslagsklass
boolesktBoolean
röding Karaktär
byteByte
kortKort
int Heltal
långLång
flytaFlyta
dubbelDubbel

Autoboxning

Den automatiska omvandlingen av primitiv datatyp till dess motsvarande omslagsklass kallas autoboxing, till exempel byte till byte, char till Character, int till heltal, long till Long, float till Float, boolean till boolean, dubbel till dubbel och kort för kort.

Sedan Java 5 behöver vi inte använda metoden valueOf() för wrapperklasser för att konvertera primitiva till objekt.

Wrapper-klass Exempel: Primitiv till Wrapper

 //Java program to convert primitive into objects //Autoboxing example of int to Integer public class WrapperExample1{ public static void main(String args[]){ //Converting int into Integer int a=20; Integer i=Integer.valueOf(a);//converting int into Integer explicitly Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally System.out.println(a+' '+i+' '+j); }} 

Produktion:

ankita lokhande ålder
 20 20 20 

Unboxing

Den automatiska omvandlingen av omslagstyp till motsvarande primitiva typ kallas unboxing. Det är den omvända processen för autoboxning. Sedan Java 5 behöver vi inte använda metoden intValue() för wrapperklasser för att konvertera wrappertypen till primitiver.

java annat om

Wrapper class Exempel: Wrapper till Primitiv

 //Java program to convert object into primitives //Unboxing example of Integer to int public class WrapperExample2{ public static void main(String args[]){ //Converting Integer to int Integer a=new Integer(3); int i=a.intValue();//converting Integer to int explicitly int j=a;//unboxing, now compiler will write a.intValue() internally System.out.println(a+' '+i+' '+j); }} 

Produktion:

 3 3 3 

Java Wrapper-klasser Exempel

 //Java Program to convert all primitives into its corresponding //wrapper objects and vice-versa public class WrapperExample3{ public static void main(String args[]){ byte b=10; short s=20; int i=30; long l=40; float f=50.0F; double d=60.0D; char c='a'; boolean b2=true; //Autoboxing: Converting primitives into objects Byte byteobj=b; Short shortobj=s; Integer intobj=i; Long longobj=l; Float floatobj=f; Double doubleobj=d; Character charobj=c; Boolean boolobj=b2; //Printing objects System.out.println('---Printing object values---'); System.out.println('Byte object: '+byteobj); System.out.println('Short object: '+shortobj); System.out.println('Integer object: '+intobj); System.out.println('Long object: '+longobj); System.out.println('Float object: '+floatobj); System.out.println('Double object: '+doubleobj); System.out.println('Character object: '+charobj); System.out.println('Boolean object: '+boolobj); //Unboxing: Converting Objects to Primitives byte bytevalue=byteobj; short shortvalue=shortobj; int intvalue=intobj; long longvalue=longobj; float floatvalue=floatobj; double doublevalue=doubleobj; char charvalue=charobj; boolean boolvalue=boolobj; //Printing primitives System.out.println('---Printing primitive values---'); System.out.println('byte value: '+bytevalue); System.out.println('short value: '+shortvalue); System.out.println('int value: '+intvalue); System.out.println('long value: '+longvalue); System.out.println('float value: '+floatvalue); System.out.println('double value: '+doublevalue); System.out.println('char value: '+charvalue); System.out.println('boolean value: '+boolvalue); }} 

Produktion:

 ---Printing object values--- Byte object: 10 Short object: 20 Integer object: 30 Long object: 40 Float object: 50.0 Double object: 60.0 Character object: a Boolean object: true ---Printing primitive values--- byte value: 10 short value: 20 int value: 30 long value: 40 float value: 50.0 double value: 60.0 char value: a boolean value: true 

Anpassad Wrapper-klass i Java

Java Wrapper-klasser omsluter de primitiva datatyperna, det är därför det är känt som wrapperklasser. Vi kan också skapa en klass som omsluter en primitiv datatyp. Så vi kan skapa en anpassad omslagsklass i Java.

 //Creating the custom wrapper class class Javatpoint{ private int i; Javatpoint(){} Javatpoint(int i){ this.i=i; } public int getValue(){ return i; } public void setValue(int i){ this.i=i; } @Override public String toString() { return Integer.toString(i); } } //Testing the custom wrapper class public class TestJavatpoint{ public static void main(String[] args){ Javatpoint j=new Javatpoint(10); System.out.println(j); }} 

Produktion:

 10