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 p>
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);
}