¿Qué son las clases contenedoras en Java? Cómo usar clases contenedoras para operar tipos de datos básicos (22)

Una clase contenedora en Java es una clase especial que se utiliza para envolver tipos de datos primitivos (como int, double, char, etc.) en objetos. La función de la clase contenedora es hacer que el tipo de datos básico tenga las características del objeto, como pasarlo como parámetro a una clase o método genérico, llamar al método del objeto, almacenarlo en una colección, etc. .

Java proporciona una clase contenedora correspondiente para cada tipo de datos básicos, como se muestra en la siguiente tabla:

tipo de datos básicos embalaje
byte Byte
corto Corto
En t Entero
largo Largo
flotar Flotar
doble Doble
carbonizarse Personaje
booleano booleano

Para usar una clase contenedora, primero debe crear un objeto de la clase contenedora. Hay dos formas de crear un objeto de la clase contenedora: una es usar el constructor y la otra es usar el método estático valueOf. Por ejemplo, aquí hay dos formas de crear un objeto Integer:

// 使用构造方法
Integer i1 = new Integer(10); // 创建一个值为 10 的 Integer 对象
// 使用静态方法 valueOf
Integer i2 = Integer.valueOf(20); // 创建一个值为 20 的 Integer 对象

Después de crear el objeto de la clase contenedora, los métodos de la clase contenedora se pueden usar para manipular los tipos de datos básicos. La clase contenedora proporciona algunos métodos de uso común, como se muestra en la siguiente tabla:

nombre del método ilustrar
Valor int Devuelve el valor int correspondiente al objeto.
valor doble Devuelve el valor doble correspondiente al objeto.
valor de carácter Devuelve el valor char correspondiente al objeto.
valor booleano Devuelve el valor booleano correspondiente al objeto
comparar con Compara el tamaño de este objeto con otro objeto y devuelve un número negativo, cero o positivo
es igual Determina si este objeto es igual a otro objeto
Devuelve una representación de cadena de este objeto
analizarXXX Analice una cadena en los tipos de datos básicos correspondientes, como parseInt, parseDouble, etc.
Convierta un tipo de datos primitivo o una cadena en el objeto de clase contenedora correspondiente

Por ejemplo, aquí hay algunos ejemplos que usan métodos de clase contenedora:

// 使用 intValue 方法
int i3 = i1.intValue(); // 将 i1 对象转换成 int 值
System.out.println(i3); // 输出 10

// 使用 compareTo 方法
int i4 = i1.compareTo(i2); // 比较 i1 和 i2 的大小
System.out.println(i4); // 输出 -1

// 使用 parseDouble 方法
double d1 = Double.parseDouble("3.14"); // 将字符串 "3.14" 解析成 double 值
System.out.println(d1); // 输出 3.14

// 使用 valueOf 方法
Boolean b1 = Boolean.valueOf(true); // 将 boolean 值 true 转换成 Boolean 对象
System.out.println(b1); // 输出 true

Además de usar métodos de clases contenedoras, también puede usar autoboxing y autounboxing para simplificar su código. El encajonado automático se refiere a la conversión automática de tipos de datos básicos en objetos de empaquetado correspondientes; el desempaquetado automático se refiere a la conversión automática de objetos de empaquetado en tipos de datos básicos correspondientes. Por ejemplo, aquí hay algunos ejemplos que usan el autoboxing y el autounboxing:

// 自动装箱
Integer i5 = 30; // 相当于 Integer i5 = Integer.valueOf(30);
Double d2 = 3.14; // 相当于 Double d2 = Double.valueOf(3.14);

// 自动拆箱
int i6 = i5; // 相当于 int i6 = i5.intValue();
double d3 = d2; // 相当于 double d3 = d2.doubleValue();

// 自动装箱和自动拆箱可以用在运算中

Supongo que te gusta

Origin blog.csdn.net/Dakaring/article/details/130520644
Recomendado
Clasificación