Red de conocimiento informático - Problemas con los teléfonos móviles - valor de

valor de

valueOf: devuelve una clase contenedora

parseInt: devuelve el tipo de datos básico

La diferencia entre los dos:

Hay en Durante el proceso de empaquetar y desempaquetar, si sabe exactamente qué valor de retorno desea,

puede elegir claramente qué método usar para la conversión y obtener el valor que desea, y hágalo con la máxima eficiencia. .

(Por supuesto, normalmente a nadie le importa esto, porque fue encontrado por findbugs, por lo que apareció este artículo.)

El mecanismo de boxeo y unboxing de los tipos de empaquetado de Java

Los tipos básicos de JAVA no utilizan new para crear variables, sino que crean una variable "automática" que no es una "referencia". Esta variable posee su "valor" y se coloca en la pila, haciéndola más eficiente.

Algunas operaciones en Java solo pueden usar objetos, y los tipos básicos no son tipos de clase y no se pueden instanciar en objetos. Por ejemplo, Collection debe implementarse como un objeto.

El llamado boxing se refiere a la conversión de tipos básicos en tipos de empaque, y unboxing se refiere a la conversión de tipos de empaque en tipos básicos.

Tome int como ejemplo, de la siguiente manera:

public static Integer valueOf(String s) throws NumberFormatException {

return Integer.valueOf(parseInt(s, 10) );

}

valor entero estático público de (int i) {

if (i gt;= IntegerCache.low amp; amp; i lt ;= IntegerCache.high)

devuelve IntegerCache.cache[i (-IntegerCache.low)]

devuelve nuevo Integer(i); /p >

public static int parseInt(String s) lanza NumberFormatException {

return parseInt(s, 10);

}