ஆட்டோ பாக்ஸிங் (மாறாதவை) - 1

"வணக்கம், அமிகோ!"

"இன்று நான் ஆட்டோ பாக்ஸிங் பற்றி சொல்கிறேன் . ஆட்டோ பாக்ஸிங் என்றால் தானாகவே ஏதாவது ஒரு பெட்டியில் போடுவது."

"ஜாவாவில் ஆப்ஜெக்ட் கிளாஸ் மற்றும் பழமையான வகைகள் உள்ளன என்பதை நீங்கள் நினைவுபடுத்துவீர்கள். ஆனால் சேகரிப்புகள் மற்றும் ஜெனரிக்ஸ் போன்ற வசதியான விஷயங்கள் பொருளைப் பெறும் வகைகளுடன் மட்டுமே செயல்படும்."

"பின்னர் ஒவ்வொரு பழமையான வகையிலும் ஒரு பழமையான எண்ணை உருவாக்க முடிவு செய்யப்பட்டது."

பழமையான வகை பழமையானது அல்லாத இணை
பைட் பைட்
குறுகிய குறுகிய
முழு எண்ணாக முழு
நீளமானது நீளமானது
மிதவை மிதவை
இரட்டை இரட்டை
பூலியன் பூலியன்
கரி பாத்திரம்
வெற்றிடமானது வெற்றிடமானது

"ஆனால் எல்லா நேரத்திலும் இந்த வகைகளுக்கு இடையில் மாற்றுவது மிகவும் சிரமமாக உள்ளது:"

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

"எல்லாமே எளிமையானது. நீங்கள் எண்ணை மற்றும் முழு எண் வகைகளை ஒன்றுக்கொன்று ஒதுக்கலாம், மற்ற அனைத்தையும் கம்பைலர் கவனித்துக்கொள்கிறது."

"அது மிகவும் வசதியானது."

"ஆமாம். ஆனால் நுணுக்கங்கள் உள்ளன, நான் பின்னர் பேசுவேன்."