logo

Wrapper třídy v Javě

The obalová třída v Javě poskytuje mechanismus převést primitivní na objekt a objekt na primitiv .

Od verze J2SE 5.0 autoboxing a rozbalení funkce převádět primitiva na objekty a objekty na primitiva automaticky. Automatická konverze primitiva na objekt je známá jako autoboxing a naopak unboxing.

Použití tříd Wrapper v Javě

Java je objektově orientovaný programovací jazyk, takže se s objekty potřebujeme vypořádat mnohokrát, jako jsou kolekce, serializace, synchronizace atd. Podívejme se na různé scénáře, kde potřebujeme použít obalové třídy.

čtvrtletí v podnikání
    Změňte hodnotu v metodě:Java podporuje pouze volání podle hodnoty. Pokud tedy předáme primitivní hodnotu, nezmění původní hodnotu. Ale pokud převedeme primitivní hodnotu v objektu, změní se původní hodnota.Serializace:Abychom mohli provést serializaci, musíme objekty převést na proudy. Pokud máme primitivní hodnotu, můžeme ji převést v objektech prostřednictvím obalových tříd.Synchronizace:Java synchronizace pracuje s objekty v multithreadingu.balíček java.util:Balíček java.util poskytuje pomocné třídy pro práci s objekty.Kolektivní rámec:Kolektivní rámec Java pracuje pouze s objekty. Všechny třídy rámce kolekce (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque atd.) se zabývají pouze objekty.

Osm tříd java.lang package jsou v Javě známé jako obalové třídy. Seznam osmi tříd obalů je uveden níže:

Primitivní typTřída obalovačky
booleovskýBoolean
char Charakter
byteByte
krátkýKrátký
int Celé číslo
dlouhoDlouho
plovákPlovák
dvojnásobekDvojnásobek

Autoboxing

Automatická konverze primitivního datového typu na odpovídající obalovou třídu je známá jako autoboxing, například byte na Byte, char na Character, int na Integer, long na Long, float na Float, boolean na boolean, double na Double a short. zkrátit.

Od Java 5 nepotřebujeme k převodu primitiv na objekty používat metodu valueOf() obalových tříd.

jak proměnit řetězec na int

Třída Wrapper Příklad: Primitive to 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); }} 

Výstup:

 20 20 20 

Rozbalení

Automatická konverze typu wrapper na odpovídající primitivní typ je známá jako unboxing. Je to obrácený proces autoboxu. Od Java 5 nemusíme používat metodu intValue() obalových tříd k převodu typu obalu na primitiva.

Třída Wrapper Příklad: Wrapper to Primitive

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

Výstup:

java zřetězení řetězců
 3 3 3 

Příklad tříd Java Wrapper

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

Výstup:

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

Vlastní třída Wrapper v Javě

Třídy Java Wrapper obalují primitivní datové typy, proto jsou známé jako obalové třídy. Můžeme také vytvořit třídu, která obalí primitivní datový typ. Můžeme tedy vytvořit vlastní obalovou třídu v Javě.

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

Výstup:

 10