logo

Clases contenedoras en Java

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
    Cambie el valor en Método:Java solo admite llamadas por valor. Entonces, si pasamos un valor primitivo, no cambiará el valor original. Pero, si convertimos el valor primitivo en un objeto, cambiará el valor original.Publicación por entregas:Necesitamos convertir los objetos en secuencias para realizar la serialización. Si tenemos un valor primitivo, podemos convertirlo en objetos a través de las clases contenedoras.Sincronización:La sincronización de Java funciona con objetos en Multithreading.Paquete java.util:El paquete java.util proporciona clases de utilidad para tratar con objetos.Marco de colección:El marco de colección de Java funciona solo con objetos. Todas las clases del marco de colección (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque, etc.) tratan únicamente con objetos.

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 primitivoclase contenedora
booleanoBooleano
carbonizarse Personaje
byteByte
cortoCorto
En t Entero
largoLargo
flotarFlotar
dobleDoble

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