Clases contenedoras de Java y genéricos

Tabla de contenido

embalaje

Boxeo y desempaquetado

embalaje

desempaquetar

genérico

genérico inicial


embalaje

La clase contenedora es el tipo de referencia correspondiente al tipo de datos básico, por lo que el tipo de datos básico también puede tener la capacidad de programación orientada a objetos.

En Java, los tipos básicos no se heredan del objeto.Para admitir estos tipos de datos básicos en código genérico, Java establece una clase contenedora correspondiente para cada tipo de datos básico.

Clases contenedoras correspondientes a tipos de datos básicos
tipo de datos básicos embalaje
En t Nada
flotar Flotar
doble Doble
corto  Corto
largo Largo
byte Byte
carbonizarse Personaje
booleano booleano

A excepción de int y char, los demás están en mayúscula

Boxeo y desempaquetado

embalaje

Convierta los tipos de datos básicos en las clases contenedoras correspondientes

Integer a = Integer.valueOf(10);   //装箱操作   把基本数据类型10变为引用数据类型
Integer a1 = 10; //自动转箱 ,帮我们自动完成装箱操作

desempaquetar

Convierta la clase contenedora al tipo de datos básico correspondiente

int b = a.intValue();   //拆箱
double d = a.doubleValue();   //可以根据我们需要的类型选择拆箱后的数据类型
int c = a;  //自动拆箱
double d1 = (double)a;  //可以根据我们需要的类型选择拆箱后的数据类型

El tamaño de Integer necesita atención:

Cuando el valor está entre -128 y 127, es el valor de la matriz en la clase contenedora Integer utilizada

Cuando exceda -128 a 127, un nuevo objeto entero será nuevo

 

Integer a = 120;
Integer b = 120;
System.out.println(a==b);  //true   

Integer c = 128;
Integer d = 128;
System.out.println(c==d);   //false


genérico

Especifique un parámetro de clase para parametrizar el tipo de datos

Después de parametrizar el tipo de datos, deje que el compilador haga la verificación.

genérico inicial

class MyArray <E> {  //泛型类

    public Object[] objects = new Object[3];
    public E get(int pos) {
        return (E)objects[pos];
    }
    public void set(int pos,int val) {
        objects[pos] = val;
    }
}

public class test {
    public static void main(String[] args) {
       MyArray<Integer> myArray = new MyArray<Integer>(); //将数据类型参数化
        myArray.set(0,1);
        myArray.set(1,2);
        myArray.set(2,3);
        int integer = myArray.get(1);
        System.out.println(integer);

    }
}

La función más importante es especificar qué tipo de objeto debe contener la clase actual y dejar que el compilador lo verifique.

Al almacenar datos, puede ayudarnos a realizar automáticamente la verificación de tipos

Al obtener elementos, puede ayudarnos a realizar la conversión de tipo.

Supongo que te gusta

Origin blog.csdn.net/qq_63525426/article/details/129406651
Recomendado
Clasificación