Java: una breve descripción de las clases de empaquetado de tipos de datos básicos

Clase de empaquetado de tipo de datos básicos

Antes de compartir el contenido de hoy, necesitamos saber: En el uso real del programa, los datos ingresados ​​por el usuario en la interfaz del programa se almacenan en tipo de carácter, pero sabemos que hay 8 tipos de datos básicos en Java, y usamos la frecuencia de Los tipos de datos que no son caracteres también son bastante altos. Es decir, para el desarrollo del programa, necesitamos convertir los datos de cadena en tipos de datos básicos especificados de acuerdo con los requisitos. Por ejemplo, la edad debe convertirse a tipo int y las calificaciones deben Esto es obviamente muy problemático. Sin embargo, en Java, nos proporcionamos los objetos correspondientes para resolver este problema: clase de empaquetado de objetos de tipo de datos básicos, es decir, Java encapsula tipos de datos básicos en objetos. Las categorías de embalaje correspondientes a los ocho tipos básicos son las siguientes:

Tipos de inglés Embalaje correspondiente
Tipo de byte byte Byte
Entero corto pequeño Pequeño
Entero En t Entero
Entero largo largo Largo
Tipo de caracter carbonizarse Personaje
Booleano booleano Booleano
Punto flotante flotador Flotador
Punto flotante doble Doble

Teniendo en cuenta que la mayor parte del uso de las clases de empaquetado de tipos de datos básicos es coherente, aquí elegimos Integer como ejemplo para compartir el uso de las clases de empaquetado de tipos de datos básicos.

Convertir una cadena en un tipo básico (parseXXX (String s))

parseXXX (String s); donde XXX representa un tipo de datos básico y el parámetro es una cadena que se puede convertir en un tipo de datos básico. Nota: Si la cadena no se puede convertir en un tipo de datos básico, se producirá el problema de la conversión de números. NumberFormatException
Ejemplo 1:

package demo;

public class IntegerDemo {
    
    
	public static void main(String[] args) {
    
    
		function();
	}
	/*
	 * Interger类中的静态方法parseInt(String s),返回基本数据类型
	 * 要求:字符串必须是数字格式的
	 */
	public static void function() {
    
    
		int i = Integer.parseInt("16");
		System.out.println(i/2);
	}
}

En este ejemplo, la cadena "16" se convierte en el número 16, y luego la operación se realiza en la salida 8. Debe tenerse en cuenta que el "16" aquí no se puede ingresar como una cadena de caracteres no numéricos como "16 ", de lo contrario, se informará de un error.
Ejemplo 2:

package demo;

public class IntegerDemo {
    
    
	public static void main(String[] args) {
    
    
		function();
	}
	/*
	 * Interger类中的静态方法parseInt(String s,int radix)
	 * 
	 */
	public static void function() {
    
    
		int i = Integer.parseInt("110",2);
		System.out.println(i);
	}
}

El método en el ejemplo anterior es un método sobrecargado de parseInt (String s), que se usa para convertir binario a decimal. El parámetro radix en el método representa la base (base), aquí este parámetro se puede cambiar a octal o hexadecimal Estos están en bases, pero después de cambiar la base, los parámetros de String anteriores deben ajustarse a las reglas de base correspondientes, por ejemplo, radix = 2, String s = "112", los parámetros de String aquí no se ajustan al binario.

Tres métodos para convertir tipos de datos básicos en cadenas

(1) Tipo de datos básico + "";
ejemplo:

package demo;

public class IntegerDemo {
    
    
	public static void main(String[] args) {
    
    
		function();
	}
	public static void function() {
    
    
		int i = 10;
		String s = i +"";
		System.out.println(i+1);
	}
}

(2) El método estático toString () en la clase Interger;
ejemplo:

package demo;

public class IntegerDemo {
    
    
	public static void main(String[] args) {
    
    
		function();
	}
	public static void function() {
    
    
		int i = 10;
		String s = Integer.toString(i);
		System.out.println(s);
	}
}

(3) El método estático toString (int a, int radix) en la clase Interger;
ejemplo:

package demo;

public class IntegerDemo {
    
    
	public static void main(String[] args) {
    
    
		function();
	}
	public static void function() {
    
    
		int i = 5;
		String s = Integer.toString(i,2);
		System.out.println(s);
	}
}

El método del Ejemplo 2 significa convertir i en una cadena binaria, que es diferente del significado del método parseInt (String s, index) anterior

Método de construcción de enteros

ejemplo:

package demo;

public class IntegerDemo {
    
    
	public static void main(String[] args) {
    
    
		function();
	}
	public static void function() {
    
    
	Integer in = new Integer("100");
	int i = in.intValue();
	System.out.println(i);
			
	}
}

El significado de este ejemplo es llamar al constructor de la clase Integer, pasar el carácter en formato numérico al constructor de la clase Integer, crear un objeto de la clase Integer, envolver la cadena y convertir la cadena en datos básicos. type También necesita llamar al método inValue ();

Otros métodos en la clase Integer

(1) Dos variables miembro estáticas
MAX_VALUE y
MIN_VALUE
Estas dos variables representan los valores máximo y mínimo del tipo. Si necesita conocer el rango de valores del resto de los tipos básicos, solo necesita llamarlo con el correspondiente clase contenedora, como el tipo largo. Sí: Long.MAX_VALUE Long.MIN_VALUE
(2) método estático toBinarString (int)
decimal a binario
(3) método estático toOctalString (int)
decimal a octal
(4) método estático toHexString (int)
decimal a hexadecimal

Auto-boxing y auto-unboxing

Boxing automático: el tipo de datos básico se convierte directamente en el objeto.
Unboxing automático: los datos del objeto vuelven al tipo de datos básico

	Integer in = 1;//自动装箱 相当于Integer in = new Integer(1);

		in = in +1;//等号右边:将in对象转换成基本数值(自动拆箱)in.intValue() + 1;加法运算后,再次装箱,把基本数值转换成对象

Ventajas del encajonamiento y desempaquetado automático: el código de ahorro, los tipos básicos y los tipos de referencia se pueden calcular directamente, operación conveniente
Desventajas del encajonamiento y desempaquetado automático: fácil de aparecer Entero en = nulo; código, informará una excepción de puntero nulo

Supongo que te gusta

Origin blog.csdn.net/qq_43825377/article/details/109108976
Recomendado
Clasificación