2011-08-31 21 views
22

Lanzando un objeto a un doble y notado ambos métodos. Veo que parseDouble ha estado desde 1.2. ¿Por qué agregar este método si esencialmente tiene la misma funcionalidad que valueOf (s)?Double.valueOf (s) vs. Double.parseDoble

+0

mira esto: http://stackoverflow.com/q/10577610/779408 – breceivemail

Respuesta

31

parseDouble() devuelve un valor primitivo double. valueOf() devuelve una instancia de la clase contenedora Double. Antes de que Java 5 introdujera el autoboxing, esa era una diferencia muy significativa (y muchos argumentarían que todavía lo es).

+0

Agradable Acabo de descubrir la diferencia a través de una sobrecarga. Ahora para buscar autoboxing – Will

+4

@Will: ahora me siento viejo ... –

10

Porque no es lo mismo. valueOf() crea un objeto Double que a menudo no es necesario. parseDouble() no. Con el autoboxing es valueOf(String) que ya no es necesario, pero por lo tanto es compatible con versiones anteriores.

4

Si solo necesita el valor (primitivo) use parseDouble(String s) el costo es menor. valueOf(String s) devuelve una clase doble que envuelve el valor doble primitivo.

Cuestiones relacionadas