ऑटोबॉक्सिंग (अपरिवर्तनीय) - १

"हाय, अमिगो!"

"आज मी ऑटोबॉक्सिंगबद्दल सांगणार आहे . ऑटोबॉक्सिंग म्हणजे आपोआप काहीतरी बॉक्समध्ये ठेवणे."

"तुम्हाला आठवत असेल की Java मध्ये ऑब्जेक्ट क्लासचे वारसा असलेले प्रकार आहेत, तसेच आदिम प्रकार आहेत. परंतु असे दिसून आले आहे की संग्रह आणि जेनेरिक म्हणून सोयीस्कर गोष्टी केवळ ऑब्जेक्टचा वारसा घेत असलेल्या प्रकारांसह कार्य करतात."

"मग प्रत्येक आदिम प्रकाराचा नॉन-प्रिमिटिव प्रतिरूप बनवण्याचा निर्णय घेण्यात आला."

आदिम प्रकार नॉन-प्रिमिटिव प्रतिरूप
बाइट बाइट
लहान लहान
int पूर्णांक
लांब लांब
फ्लोट तरंगणे
दुप्पट दुहेरी
बुलियन बुलियन
चार वर्ण
शून्य शून्य

"परंतु या प्रकारांमध्ये नेहमीच रूपांतरित करणे खूप गैरसोयीचे आहे:"

int x = 3;
Integer y = new Integer(x + 1);
int z = y.intValue();

"विशेषत: संग्रहांसह थेट काम करताना:"

उदाहरण
int[] numbers = new int[10];
ArrayList list = new ArrayList();
for (int i = 0; i < numbers.length; i++)
{
 list.add( new Integer(i));
}

"म्हणूनच जावाच्या निर्मात्यांनी "ऑटोबॉक्सिंग" चा आदिम प्रकारांचा शोध लावला आणि 'अनबॉक्सिंग'चा शोध त्यांच्या गैर-आदिम समभागांना लावला."

"हे कसे कार्य करते ते येथे आहे:

आपण काय पाहता खरोखर काय होते
int x = 3;
Integer y = x + 1;
int x = 3;
Integer y = Integer.valueOf(x + 1);
int z = y;
int z = y.intValue();
Boolean b = Boolean.FALSE;
boolean a = b;
Boolean b = Boolean.FALSE;
boolean a = b.booleanValue();
Integer x = null;
int y = x;
Integer x = null; int y = x.intValue(); //Throws an exception

"हे सर्व सोपे आहे. तुम्ही int आणि Integer प्रकार एकमेकांना नियुक्त करू शकता आणि कंपाइलर इतर सर्व गोष्टींची काळजी घेतो."

"ते खूप सोयीचे आहे."

"हो. पण काही बारकावे आहेत ज्याबद्दल मी नंतर बोलेन."