En la Guía de conceptos de OOP, aprendimos que la programación orientada a objetos tiene que ver con los objetos. Los ocho tipos de datos primitivos byte, short, int, long, float, double, char y boolean no son objetos, Las clases de envoltura se utilizan para convertir tipos de datos primitivos en objetos., como int a Integer, etc. Tomemos un ejemplo simple para entender por qué necesitamos la clase contenedora en java.

Por ejemplo: Mientras trabajamos con colecciones en Java, usamos genéricos para la independencia de tipos así: ArrayList en lugar de este ArrayList . Integer es una clase contenedora primitiva de tipo int. Usamos la clase contenedora en este caso porque los genéricos necesitan objetos no primitivos. Hay muchas otras razones por las que preferiría una clase contenedora en lugar del tipo primitivo, también las discutiremos en este artículo.

Primitivo Clase de envoltura
booleano Booleano
carbonizarse Personaje
byte Byte
corto Corto
En t Número entero
largo Largo
flotante Flotante
Doble Doble

¿Por qué necesitamos la clase contenedora en Java?

1. Como se mencionó anteriormente, una de las razones por las que necesitamos contenedores es para usarlos en la API de colecciones. Por otro lado, los objetos contenedores conservan mucha más memoria que los tipos primitivos. Por lo tanto, use tipos primitivos cuando necesite eficiencia y use la clase contenedora cuando necesite objetos en lugar de tipos primitivos.

Los tipos de datos primitivos no son objetos, por lo que no pertenecen a ninguna clase. Al almacenar en estructuras de datos que solo admiten objetos, primero debemos convertir el tipo primitivo en objeto, lo que podemos hacer usando clases contenedoras.

Ejemplo:

HashMap<Integer, String> hm = new HashMap<Integer, String>();

Entonces, para la seguridad de los tipos, usamos clases contenedoras. De esta forma nos aseguramos de que estas claves HashMap sean de tipo entero y que los valores sean de tipo cadena.
2. Los objetos de la clase contenedora permiten valores nulos, mientras que el tipo de datos primitivo no.

leer  If, If..else Instrucción de Java con ejemplos

Tomemos algunos ejemplos para comprender cómo funciona la conversión:

Ejemplo 1 de la clase Wrapper: conversión de un tipo primitivo en un objeto Wrapper

public class JavaExample{  
   public static void main(String args[]){  
	//Converting int primitive into Integer object  
	int num=100;  
	Integer obj=Integer.valueOf(num);  

	System.out.println(num+ " "+ obj);  
   }
}

Producción:

100 100

Como puede ver, tanto el tipo de datos primitivo como el objeto tienen los mismos valores. Puede usar obj en lugar de num siempre que necesite pasar el valor de num como un objeto.

Ejemplo de Wrapper clase 2: conversión del objeto de la clase Wrapper a Primitive

public class JavaExample{  
   public static void main(String args[]){  
	//Creating Wrapper class object 
	Integer obj = new Integer(100);  
		
	//Converting the wrapper object to primitive
	int num = obj.intValue();

	System.out.println(num+ " "+ obj);  
   }
}

Producción:

100 100

Por avivcas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *