El classe d'embolcall en Java proporciona el mecanisme convertir el primitiu en objecte i l'objecte en primitiu .
Des de J2SE 5.0, autoboxing i unboxing La funció converteix els primitius en objectes i els objectes en primitius automàticament. La conversió automàtica de primitiu en un objecte es coneix com autoboxing i viceversa unboxing.
Ús de classes Wrapper a Java
Java és un llenguatge de programació orientat a objectes, així que hem de tractar amb objectes moltes vegades com en Col·leccions, Serialització, Sincronització, etc. Vegem els diferents escenaris, on hem d'utilitzar les classes d'embolcall.
java comparable
Les vuit classes de la java.lang paquet es coneixen com a classes d'embolcall a Java. La llista de vuit classes d'embolcall es presenta a continuació:
Tipus primitiu | Classe d'embolcall |
---|---|
booleà | booleà |
char | Personatge |
byte | Byte |
curt | Curt |
int | Enter |
llarg | Llarg |
flotar | Flota |
doble | Doble |
Autoboxing
La conversió automàtica del tipus de dades primitiu a la seva classe d'embolcall corresponent es coneix com a autoboxing, per exemple, byte a Byte, char a Character, int a Integer, long to Long, float a Float, boolean to Boolean, double to Double i short. a curt.
Des de Java 5, no necessitem utilitzar el mètode valueOf() de les classes d'embolcall per convertir el primitiu en objectes.
Classe Wrapper Exemple: Primitiu a 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); }}
Sortida:
menú desplegable javascript
20 20 20
Unboxing
La conversió automàtica del tipus d'embolcall al tipus primitiu corresponent es coneix com unboxing. És el procés invers de l'autoboxing. Des de Java 5, no necessitem utilitzar el mètode intValue() de les classes d'embolcall per convertir el tipus d'embolcall en primitius.
gestor de tasques linux
Classe wrapper Exemple: wrapper a 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); }}
Sortida:
3 3 3
Classes d'embolcall de Java Exemple
//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); }}
Sortida:
---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
Classe d'embolcall personalitzat a Java
Les classes d'embolcall de Java embolcallen els tipus de dades primitius, per això es coneixen com a classes d'embolcall. També podem crear una classe que embolcalli un tipus de dades primitiu. Per tant, podem crear una classe d'embolcall personalitzada a 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); }}
Sortida:
10