El clase contenedora en Java proporciona el mecanismo convertir primitivo en objeto y objeto en primitivo .
Desde J2SE 5.0, autoboxeo y desempaquetar La función convierte primitivas en objetos y objetos en primitivas automáticamente. La conversión automática de una primitiva en un objeto se conoce como autoboxing y viceversa.
Uso de clases Wrapper en Java
Java es un lenguaje de programación orientado a objetos, por lo que necesitamos tratar con objetos muchas veces, como en Colecciones, Serialización, Sincronización, etc. Veamos los diferentes escenarios en los que necesitamos usar las clases contenedoras.
java invirtiendo una cadena
Las ocho clases del java.lang El paquete se conoce como clases contenedoras en Java. La lista de ocho clases contenedoras se proporciona a continuación:
Tipo primitivo | clase contenedora |
---|---|
booleano | Booleano |
carbonizarse | Personaje |
byte | Byte |
corto | Corto |
En t | Entero |
largo | Largo |
flotar | Flotar |
doble | Doble |
autoboxeo
La conversión automática de un tipo de datos primitivo a su correspondiente clase contenedora se conoce como autoboxing, por ejemplo, byte a byte, char a carácter, int a entero, largo a largo, flotante a flotante, booleano a booleano, doble a doble y corto. a corto.
Desde Java 5, no necesitamos usar el método valueOf() de las clases contenedoras para convertir la primitiva en objetos.
convertir un int a cadena c++
Ejemplo de clase contenedora: primitiva a contenedora
//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); }}
Producción:
20 20 20
Desembalaje
La conversión automática del tipo contenedor en su tipo primitivo correspondiente se conoce como unboxing. Es el proceso inverso al autoboxing. Desde Java 5, no necesitamos utilizar el método intValue() de las clases contenedoras para convertir el tipo contenedor en primitivos.
Ejemplo de clase contenedora: contenedor a primitivo
//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); }}
Producción:
que es la colmena
3 3 3
Ejemplo de clases contenedoras de Java
//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); }}
Producción:
---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
Clase contenedora personalizada en Java
Las clases Java Wrapper envuelven los tipos de datos primitivos, por eso se las conoce como clases contenedoras. También podemos crear una clase que envuelva un tipo de datos primitivo. Entonces, podemos crear una clase contenedora personalizada en 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); }}
Producción:
10