डबल .parseDouble (शून्य) और Integer.parseInt (शून्य) अलग अपवाद क्यों फेंकते हैं?डबल .parseDouble (शून्य) और Integer.parseInt (शून्य) क्यों अलग अपवाद फेंकते हैं?
क्या यह एक ऐतिहासिक दुर्घटना या जानबूझकर है? प्रलेखन स्पष्ट रूप से Double.parseDouble(...)
के लिए अपवाद के दो प्रकार के और Integer.parseInt()
के लिए एक में कहा गया है, लेकिन यह असंगत लगता है:
Integer.parseInt(null); // throws java.lang.NumberFormatException: null
हालांकि
Double.parseDouble(null); // throws java.lang.NullPointerException
@Aquillo: 'डबल' आदिम http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html – nhahtdh
संबंधित विधियों के स्रोत कोड की जांच कर रहा है, यह केवल एक असंगतता की तरह लगता है। 'parseDouble' एक शून्य जांच नहीं करता है, और जब सामना किया जाता है तो बस एक एनपीई फेंकता है, लेकिन' parseInt' में, तो इनपुट स्ट्रिंग को 'शून्य' के लिए चेक किया जाता है। मुझे कोई अच्छा कारण नहीं दिख रहा है कि उन्हें अलग व्यवहार क्यों करना चाहिए। – NilsH
मैंने जांच की है कि वे समान NumberFormatException फेंक देते हैं। – twlkyao