में मुझे हमेशा यही लगता है कि जावा में आदिम प्रकार null
नहीं किया जा सकता, क्योंकि यह एक संकलन समय त्रुटि है अगर मैं कुछ इस तरह करने का प्रयास:कारण है कि मैं अशक्त करने के लिए आदिम प्रकार सेट कर सकते हैं त्रिगुट संचालन
int test = null;
हालांकि
int test;
if (something != 0){
test = 5;
} else {
test = null
}
:
int test = something != 0 ? 5 : null;
एक त्रिगुट आपरेशन बस के लिए कम (इस मामले में) नहीं है: एक त्रिगुट ऑपरेशन में, यह अनुमति दी किया जा रहा है 10
जो निश्चित रूप से अनुमति नहीं दी जानी चाहिए। अगर वह स्थिति विफल हो जाती है, तो ऑटोबॉक्सिंग के कारण यह स्वचालित रूप से NullPointerException
फेंक देगा। तो जावा-कंपाइलर इस तरह बकवास क्यों नहीं लाता है?
वैसे, आप * आदिम * प्रकारों के बारे में बात कर रहे हैं। कच्चे प्रकार कुछ पूरी तरह से अलग हैं। http://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html – Natix
आप सही हैं! मैंने बस उन्हें भ्रमित कर दिया, और –
के अनुसार इसे बदल दिया [जावा में ट्रिकी टर्नरी ऑपरेटर - ऑटोबॉक्सिंग] (http://stackoverflow.com/questions/8098953/tricky-ternary-operator-in-java-autoboxing) –