Conversión Java-Mutual entre tipos de datos básicos, clases de empaquetado y clases de cadenas

1. Empaquetado
Java es un lenguaje de programación orientado a objetos, pero el tipo de datos básico no es un objeto, lo cual es muy inconveniente en la operación de conjuntos, por lo que necesitamos transformar el tipo de datos básico en un objeto para operación y operación, esto es la clase de embalaje.
Hay 8 tipos de datos básicos y 8 tipos de empaque.
Inserte la descripción de la imagen aquí
A excepción de Character y Boolean heredados directamente de la clase Object, estos 6 heredan de la clase Number, que luego hereda de la clase Object.
2. La conversión mutua entre tipos de datos básicos, clases de empaquetado y clases de cadenas.
Inserte la descripción de la imagen aquí
Operación de empaquetado:

//基本数据类型 --> 包装类:调用包装类的构造器
    @Test
    public void test1() {
    
    
        int num1 = 10;
        Integer in1 = new Integer(num1);
        System.out.println(in1.toString());
        }

Operación de desembalaje:

//包装类 --> 基本数据类型:调用包装类的xxxValue()
    @Test
    public void test2() {
    
    
        Integer in1 = new Integer(12);
        int i1 = in1.intValue();
        System.out.println(i1 + 1);
        }

Nuevas características de JDK 5.0: para reducir la carga de trabajo de los programadores, proporciona la función de boxing y unboxing automático.

/*
     *  JDK 5.0新特性:自动装箱和自动拆箱
     */
    @Test
    public void test3(){
    
    
        //自动装箱:基本数据类型 --> 包装类
        int num = 10;
        Integer in1 =num;//自动装箱

        boolean b1 = true;
        Boolean b2 = b1;//自动装箱
        //自动拆箱:包装类 --> 基本数据类型
        System.out.println(in1.toString());

        int num1 = in1;//自动拆箱
    }
//基本数据类型、包装类 --> String类型:调用String重载的valueOf(Xxx xxx)
    @Test
    public void test4(){
    
    
        int num1 = 10;
        //方法一:
        String str1 = num1 + "";
        //方法二:
        float f1 = 12.3f;
        String str2 = String.valueOf(f1);
        }
//String类型 --> 基本数据类型、包装类:调用包装类的parseXxx()
    @Test
    public void test5(){
    
    
        String str1 = "123";
        //错误的情况:
//        int num1 = (int)str1;
//        Integer in1 = (Integer)str1;
        //可能会报NumberFormatException异常
        int n1 = Integer.parseInt(str1);
        System.out.println(n1 + 1);
        }

Supongo que te gusta

Origin blog.csdn.net/qq_30068165/article/details/114278974
Recomendado
Clasificación