¿Por qué Double.parseDouble (nulo) e Integer.parseInt (nulo) arrojan excepciones diferentes?
¿Es esto un accidente histórico o intencional? La documentación establece claramente dos tipos de excepciones para Double.parseDouble(...)y una para Integer.parseInt(), pero parece inconsistente:
Integer.parseInt(null); // throws java.lang.NumberFormatException: nullsin embargo
Double.parseDouble(null); // throws java.lang.NullPointerException
doubleprimitiva docs.oracle.com/javase/tutorial/java/nutsandbolts/...parseDoubleno realiza una verificación nula, y solo lanza una NPE cuando se encuentra, pero enparseInt, luego se verifica la cadena de entradanull. No veo ninguna buena razón por la que deberían comportarse de manera diferente.Respuestas:
Y:
Tomado de: Informe de error: Integer.parseInt () y Double.parseDouble () arrojan diferentes excepciones en null.
Como han dicho otros: es probable que esté hecho por diferentes autores.
fuente
Nota: todo en esta publicación está en la fuente de Java7-b147
Double.parseDouble()entra en una biblioteca de Sun (ensun.misc.FloatingDecimal) lo primero que sucede es:Integer.parseInt()se hace manualmente en laIntegerclase. Lo primero que sucede es importante:Supongo que hay dos autores diferentes.
fuente