O que são classes wrapper em Java? Como usar classes wrapper para operar tipos de dados básicos (22)

Uma classe wrapper em Java é uma classe especial usada para agrupar tipos de dados primitivos (como int, double, char, etc.) em objetos. A função da classe wrapper é fazer com que o tipo de dado básico tenha as características do objeto, como passar como parâmetro para uma classe ou método genérico, chamar o método do objeto, armazená-lo em uma coleção, etc. .

Java fornece uma classe wrapper correspondente para cada tipo de dados básico, conforme mostrado na tabela a seguir:

tipo de dados básico Embalagem
byte Byte
curto Curto
int inteiro
longo Longo
flutuador Flutuador
dobro Dobro
Caracteres Personagem
boleano boleano

Para usar uma classe wrapper, primeiro você precisa criar um objeto da classe wrapper. Existem duas maneiras de criar um objeto da classe wrapper: uma é usar o construtor e a outra é usar o método estático valueOf. Por exemplo, aqui estão duas maneiras de criar um objeto Integer:

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

Depois que o objeto da classe wrapper é criado, os métodos da classe wrapper podem ser usados ​​para manipular os tipos de dados básicos. A classe wrapper fornece alguns métodos comumente usados, conforme mostrado na tabela a seguir:

nome do método ilustrar
intValue Retorna o valor int correspondente ao objeto
doubleValue Retorna o valor duplo correspondente ao objeto
charValue Retorna o valor char correspondente ao objeto
valor booleano Retorna o valor booleano correspondente ao objeto
compareTo Compara o tamanho deste objeto com outro objeto, retornando um número negativo, zero ou positivo
é igual a Determina se este objeto é igual a outro objeto
Retorna uma representação de sequência de caracteres deste objeto
parseXXX Analisa uma string em tipos de dados básicos correspondentes, como parseInt, parseDouble, etc.
Converter um tipo de dados primitivo ou string no objeto de classe wrapper correspondente

Por exemplo, aqui estão alguns exemplos usando métodos de classe wrapper:

// 使用 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

Além de usar métodos de classes wrapper, você também pode usar autoboxing e autounboxing para simplificar seu código. Auto-boxing refere-se à conversão automática de tipos de dados básicos em objetos de embalagem correspondentes; unboxing automático refere-se à conversão automática de objetos de embalagem em tipos de dados básicos correspondentes. Por exemplo, aqui estão alguns exemplos usando autoboxing e 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();

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

Acho que você gosta

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