The iesaiņojuma klase Java nodrošina mehānismu lai pārveidotu primitīvu par objektu un objektu par primitīvu .
Kopš J2SE 5.0, autobokss un izpakošana funkcija pārvērš primitīvus par objektiem un objektus par primitīviem automātiski. Automātiska primitīva pārvēršana objektā ir pazīstama kā autoboxing un otrādi unboxing.
Iesaiņojuma klašu izmantošana Java
Java ir uz objektu orientēta programmēšanas valoda, tāpēc mums ir daudzkārt jārīkojas ar objektiem, piemēram, kolekcijās, serializācijā, sinhronizācijā utt. Apskatīsim dažādus scenārijus, kur mums ir jāizmanto iesaiņojuma klases.
java lambda izteiksmes
Astoņas klases java.lang Java ir pazīstamas kā iesaiņojuma klases. Astoņu iesaiņojuma klašu saraksts ir norādīts zemāk:
Primitīvais tips | Iesaiņojuma klase |
---|---|
Būla | Būla |
char | Raksturs |
baits | baits |
īss | Īss |
starpt | Vesels skaitlis |
garš | Gari |
peldēt | Pludiņš |
dubultā | Dubults |
Autobokss
Primitīvā datu tipa automātiska pārveidošana atbilstošā iesaiņojuma klasē ir pazīstama kā autoboxing, piemēram, baits uz baitu, char uz rakstzīmi, int uz veselu skaitli, long uz Long, float uz Float, Būla par Būla, dubultā uz Double un short. uz Īsu.
Kopš Java 5 mums nav jāizmanto iesaiņojuma klašu metode valueOf(), lai pārveidotu primitīvu objektos.
'eulera numurs java'
Iesaiņojuma klase Piemērs: Primitīvs uz Iesaiņojumu
//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); }}
Izvade:
20 20 20
Izpakošana
Automātiska iesaiņojuma veida pārveidošana atbilstošā primitīvajā veidā ir pazīstama kā izpakošana. Tas ir apgriezts autoboksa process. Kopš Java 5 mums nav jāizmanto iesaiņojuma klašu metode intValue(), lai pārveidotu iesaiņojuma veidu primitīvos.
Iesaiņojuma klase Piemērs: Iesaiņotājs uz Primitīvu
//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); }}
Izvade:
cik vecs ir Pīts Deividsons
3 3 3
Java Wrapper klases Piemērs
//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); }}
Izvade:
---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
Pielāgota iesaiņojuma klase Java
Java Wrapper klases iesaiņo primitīvos datu tipus, tāpēc tās ir pazīstamas kā iesaiņojuma klases. Mēs varam arī izveidot klasi, kas iesaiņo primitīvu datu tipu. Tātad, mēs varam izveidot pielāgotu iesaiņojuma klasi 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); }}
Izvade:
10