Perché Double.parseDouble (null) e Integer.parseInt (null) generano eccezioni diverse?Perché Double.parseDouble (null) e Integer.parseInt (null) generano eccezioni diverse?
Si tratta di un incidente storico o intenzionale? La documentazione afferma chiaramente due tipi di eccezioni per Double.parseDouble(...)
e una per Integer.parseInt()
, ma sembra incoerente:
Integer.parseInt(null); // throws java.lang.NumberFormatException: null
Tuttavia
Double.parseDouble(null); // throws java.lang.NullPointerException
@Aquillo: C'è il 'doppio' primitivo http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html – nhahtdh
Controllare il codice sorgente dei rispettivi metodi, sembra solo un'incongruenza. 'parseDouble' non esegue un controllo Null e getta solo un NPE quando viene rilevato, ma in' parseInt', quindi la stringa di input viene controllata per 'null'. Non riesco a vedere alcuna buona ragione per cui dovrebbero comportarsi diversamente. – NilsH
Ho verificato che generano lo stesso valore NumberFormatException. – twlkyao