மாறக்கூடிய/மாறாத பொருள்கள் என்றால் என்ன, அவை எதற்காக?  - 1

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

"வணக்கம், பிலாபோ!"

"இன்று பிலாபோ உங்களுக்கு மாறக்கூடிய மற்றும் மாறாத பொருட்களைப் பற்றி கூறுவார் .

"உருவாக்கப்பட்ட பிறகு நீங்கள் மாற்றக்கூடிய பொருள்கள் மாறக்கூடியவை என்று அழைக்கப்படுகின்றன . "

"உருவாக்கப்பட்ட பிறகு மாற்ற முடியாத பொருள்கள் மாறாதவை எனப்படும் . "

"நான் ஒரு பொருளை மாற்ற முடியுமா என்பதை எது தீர்மானிக்கிறது?"

"புதிய வகுப்பின் ஆசிரியர் அந்த வகுப்பின் பொருள்களை மாறாததாக ஆக்க முடியும். எடுத்துக்காட்டாக, நீங்கள் அனைத்து செட்டர்களையும் தனிப்பட்டதாக மாற்றினால், ஒரு பொருளுக்கு ஒரு கட்டமைப்பாளரும் பெறுபவர்களும் மட்டுமே இருக்கும்; அதாவது, அதை உருவாக்கிய பிறகு அதை மாற்றுவது சாத்தியமில்லை. ."

"அதன் பயன் என்னவாக இருக்கும்?"

"மாறாத பொருள்கள் பல பயனுள்ள பண்புகளைக் கொண்டுள்ளன, ஆனால் கிட்டத்தட்ட அனைத்து மாறாத பொருள்களுக்கும் பொதுவான இரண்டை நான் முன்னிலைப்படுத்துகிறேன்:"

1) மாறக்கூடிய பொருட்களை விட மாறாத பொருள்களை செயல்படுத்த மிகவும் எளிதானது.

2) மாறாத பொருள்களை ஒரே நேரத்தில் பல இழைகளில் சுதந்திரமாகப் பயன்படுத்தலாம்.

"ஒரு டெவலப்பர் ஒரு மாறாத வகுப்பை எழுத முடிவு செய்யும் போது, ​​அவர் வழக்கமாக வகுப்பின் மாறக்கூடிய மற்றும் மாறாத பதிப்பை உருவாக்குகிறார்."

"ஆனால் ஒன்றுக்கு பதிலாக இரண்டு வகுப்புகள் எழுதுவதில் என்ன பயன்?"

"சில நேரங்களில் ஒரு பொருளின் மாறாத பதிப்பு, மாறக்கூடிய ஒன்றை விட மிகவும் எளிமையான/வேகமாக இருக்கும் போது அது மதிப்புக்குரியது. எனவே, அவை இரண்டு பதிப்புகளை உருவாக்குகின்றன. இது வரிசைப்பட்டியல் மற்றும் லிங்க்டுலிஸ்ட் போன்றது: இரண்டும் பட்டியல்கள், ஆனால் ஒன்று குறிப்பிட்ட நோக்கங்களுக்காக உகந்ததாக உள்ளது, மற்றவர்களுக்கு இரண்டாவது."

"இது ஏற்கனவே அதிக அர்த்தமுள்ளதாக இருக்கிறது."

"முழுமையாக மாறாத வகுப்புகளும் உள்ளன, அவை மாறக்கூடிய பதிப்பு இல்லை."

"ஆனால் அந்த பொருட்களில் ஏதாவது ஒன்றை நான் மாற்ற வேண்டும் என்றால் என்ன செய்வது? ஒரு மாறாத பொருளை நீங்கள் உண்மையில் என்ன செய்ய முடியும்?"

"வழக்கமாக, மாறாத வகுப்புகள் பொருளை மாற்றுவது போல் செயல்படும் பல்வேறு முறைகளைக் கொண்டிருக்கின்றன, ஆனால் இந்த முறைகள் வெறுமனே ஒரு புதிய பொருளை உருவாக்கி, பொருளையே மாற்றுவதற்குப் பதிலாக அதைத் திருப்பித் தருகின்றன."

"இங்கே சில உதாரணங்கள்:"

ஜாவா குறியீடு விளக்கம்
String s = "london";
String s2 = s.toUpperCase();
இதன் விளைவாக, s சரம் «லண்டன்» மற்றும் s2 இல் «LONDON»
Integer i = 1;
Integer j = i;
j++;
உண்மையில் என்ன நடக்கிறது என்பது இங்கே:
முழு எண் i = புதிய முழு எண்(1);
முழு எண் j = i;
j = புதிய முழு எண்(i.getInt()+1);

"ஸ்ட்ரிங் கிளாஸ் என்பது மாறாத வகுப்பாகும். அனைத்து சரம் பொருள்களும் மாறாதவை, ஆனால் அது நம்மை அவற்றுடன் வேலை செய்வதைத் தடுக்காது. எடுத்துக்காட்டாக, ஸ்ட்ரிங் வகுப்பின் toUpperCase () முறை ஒரு சரத்தை பெரிய எழுத்தாக மாற்றுகிறது (அதாவது அனைத்து சிறிய எழுத்துக்களையும் மாற்றுகிறது. பெரிய எழுத்துகளுடன்) எனினும், இந்த முறை சரத்தையே மாற்றாது, அதற்குப் பதிலாக புதிய சரத்தை வழங்குகிறது. இந்த புதிய சரம் அனைத்து எழுத்துக்களும் பெரிய எழுத்துக்களைத் தவிர (பெரிய எழுத்துக்கள்) முதல் எழுத்துக்கு ஒத்ததாக இருக்கும்."

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

"எவ்வளவு சுவாரஸ்யமானது! ஹூரே, பிலாபோ."

"எனக்கு ஹூரே! பிலாபோவுக்கு ஹூரே!"