Perché Double.parseDouble (null) e Integer.parseInt (null) generano eccezioni diverse?
Si tratta di un incidente storico o intenzionale? La documentazione indica chiaramente due tipi di eccezioni per Double.parseDouble(...)
e una per Integer.parseInt()
, ma sembra incoerente:
Integer.parseInt(null); // throws java.lang.NumberFormatException: null
però
Double.parseDouble(null); // throws java.lang.NullPointerException
parseDouble
non esegue un controllo nullo e genera solo un NPE quando viene rilevato, ma in parseInt
, viene verificata la stringa di input null
. Non vedo nessuna buona ragione per cui dovrebbero comportarsi in modo diverso.
double
primitive docs.oracle.com/javase/tutorial/java/nutsandbolts/…