logo

Įvyniojimo klasės Java

The „Java“ įvyniojimo klasė suteikia mechanizmą paversti primityvų į daiktą ir objektą į primityvią .

Nuo J2SE 5.0, autoboksas ir išpakavimas funkcija automatiškai konvertuoja primityvus į objektus, o objektus į primityvus. Automatinis primityvumo konvertavimas į objektą yra žinomas kaip „autoboxing“ ir atvirkščiai – išpakavimas.

„Wrapper“ klasių naudojimas „Java“.

Java yra į objektą orientuota programavimo kalba, todėl mes turime daug kartų dirbti su objektais, pavyzdžiui, kolekcijose, serializacijoje, sinchronizacijoje ir kt. Pažvelkime į skirtingus scenarijus, kuriuose turime naudoti įvyniojimo klases.

np taškas
    Pakeiskite vertę Methode:Java palaiko tik skambutį pagal vertę. Taigi, jei perduodame primityvią reikšmę, ji nepakeis pradinės reikšmės. Bet jei konvertuosime primityvią objekto reikšmę, ji pakeis pradinę vertę.Serializavimas:Turime konvertuoti objektus į srautus, kad galėtume atlikti serializavimą. Jei turime primityvią reikšmę, galime ją konvertuoti į objektus per įvyniojimo klases.Sinchronizavimas:Java sinchronizavimas veikia su objektais Multithreading.java.util paketas:Paketas java.util pateikia naudingumo klases, skirtas tvarkyti su objektais.Kolekcijos struktūra:Java kolekcijos sistema veikia tik su objektais. Visos rinkinio sistemos klasės (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque ir kt.) susijusios tik su objektais.

Aštuonios klasės java.lang paketas yra žinomas kaip įvyniojimo klasės Java. Žemiau pateikiamas aštuonių įvyniojimo klasių sąrašas:

Primityvus tipasVyniojimo klasė
loginisBūlio
char Charakteris
baitasbaitas
trumpasTrumpas
tarpt Sveikasis skaičius
ilgaiIlgai
plūdėPlūdė
dvigubaiDvigubas

Autoboksas

Automatinis primityvaus duomenų tipo konvertavimas į atitinkamą apvyniojimo klasę yra žinomas kaip automatinis keitimas, pavyzdžiui, baitas į baitą, char į simbolį, int į sveikąjį skaičių, long į Long, float į Float, loginis į Būlio, dvigubas į Double ir short. į Trumpą.

Kadangi „Java 5“, mums nereikia naudoti įpakavimo klasių metodo valueOf(), kad primityvus būtų konvertuojamas į objektus.

Įvyniojimo klasė Pavyzdys: 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); }} 

Išvestis:

Vartotojo vardas
 20 20 20 

Išpakavimas

Automatinis įvyniojimo tipo konvertavimas į atitinkamą primityvų tipą yra žinomas kaip išpakavimas. Tai atvirkštinis automatinio bokso procesas. Nuo „Java 5“ mums nereikia naudoti įpakavimo klasių metodo intValue() norint konvertuoti įpakavimo tipą į primityvus.

programinės įrangos kūrimo gyvavimo ciklas

Įvyniojimo klasė Pavyzdys: Įvynioklis į 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); }} 

Išvestis:

 3 3 3 

„Java Wrapper“ klasių pavyzdys

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

Išvestis:

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

Custom Wrapper klasė Java

„Java Wrapper“ klasės apvynioja primityvius duomenų tipus, todėl jos vadinamos įvyniojimo klasėmis. Taip pat galime sukurti klasę, kuri apvynioja primityvų duomenų tipą. Taigi, galime sukurti pasirinktinę įvyniojimo klasę 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); }} 

Išvestis:

 10