logo

Wrapper triedy v Jave

The obalová trieda v jazyku Java poskytuje mechanizmus premeniť primitívne na objekt a objekt na primitívne .

Od verzie J2SE 5.0 autoboxing a rozbaľovanie Funkcia konvertuje primitívy na objekty a objekty na primitívy automaticky. Automatická konverzia primitíva na objekt je známa ako autoboxing a naopak unboxing.

Použitie tried Wrapper v Jave

Java je objektovo orientovaný programovací jazyk, takže sa s objektmi musíme zaoberať mnohokrát, ako napríklad kolekcie, serializácia, synchronizácia atď. Pozrime sa na rôzne scenáre, v ktorých musíme použiť obalové triedy.

amplitúdovej modulácie
    Zmeňte hodnotu v metóde:Java podporuje iba volanie podľa hodnoty. Ak teda prejdeme primitívnu hodnotu, nezmení pôvodnú hodnotu. Ak však prevedieme primitívnu hodnotu v objekte, zmení sa pôvodná hodnota.Serializácia:Na vykonanie serializácie potrebujeme previesť objekty na prúdy. Ak máme primitívnu hodnotu, môžeme ju previesť v objektoch cez obalové triedy.synchronizácia:Synchronizácia Java funguje s objektmi v multithreadingu.balík java.util:Balík java.util poskytuje pomocné triedy na prácu s objektmi.Kolekčný rámec:Kolekčný rámec Java funguje iba s objektmi. Všetky triedy rámca kolekcie (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque atď.) sa zaoberajú iba objektmi.

Osem tried java.lang balíky sú v jazyku Java známe ako obalové triedy. Zoznam ôsmich tried obalov je uvedený nižšie:

Primitívny typTrieda obalov
boolovská hodnotaBoolean
char Charakter
byteByte
krátkyKrátky
int Celé číslo
dlhýDlhé
plavákPlavák
dvojitýDvojité

Autoboxing

Automatická konverzia primitívneho dátového typu na príslušnú obalovú triedu je známa ako autoboxing, napríklad bajt na bajt, char na znak, int na celé číslo, long na Long, float na float, boolean na boolean, double na Double a short na Krátke.

Od Java 5 nemusíme na konverziu primitív na objekty používať metódu valueOf() obalových tried.

Trieda Wrapper Prí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ýkon:

skontrolujte nulu v jazyku Java
 20 20 20 

Rozbaľovanie

Automatická konverzia typu wrapper na príslušný primitívny typ je známa ako unboxing. Je to opačný proces autoboxu. Od Java 5 nemusíme používať metódu intValue() obalových tried na konverziu typu obalu na primitíva.

pre reťazcové pole java

Trieda Wrapper Prí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ýkon:

 3 3 3 

Príklad tried 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ýkon:

 ---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á trieda Wrapper v jazyku Java

Triedy Java Wrapper obalia primitívne dátové typy, preto sú známe ako obalové triedy. Môžeme tiež vytvoriť triedu, ktorá obalí primitívny dátový typ. Takže môžeme vytvoriť vlastnú obalovú triedu v Jave.

 //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ýkon:

 10