Java කියන්නේ object-oriented language එකක් නිසා ඕනෑම දෙයක් දිහා object එකක් විදියට බලන්න පුළුවන්.සාමාන්ය data type එකක් object එකක් බවට පත් කල හැක්කේ wrapper classes භාවිතයෙන්.
මෙම පාඩමෙන් සාකච්ඡා කරන්නේ wrapper classes ගැනයි. Wrapper classes භාවිත කරන්නේ ඕනෑම data type එකක් object එකක් බවට පත් කිරීමටයි.
primitive data types කියන්නේ objects නෙමෙයි; ඒවා අඩුම තරමේ class එකකට වත් අයිති නැහැ;ඒවා java භාෂාව තුල define(නිර්වචනය) කරන ලද දේවල්.සමහර අවස්ථා වලදී data types, නව objects බවට පරිවර්තනය කලයුතු වෙනවා. ඒවගේ අවස්ථා වලදී අපට wrapper classes අවශ්ය වෙනවා.
Wrapper classes කියන්නේ මොනවාද?
නමේ කියවෙන ආකාරයටම , wrapper class එකකින් සිද්ධවෙන්නේ data type එකකට object පෙනුමක් ඇතිවන ලෙස සිදු කරන එතීමකි.Data type එක object එකක් ලෙස අවශ්ය වන ඕනෑම අවස්ථාවකදී, මේ object එක භාවිත කල හැක. Wrapper classes තුල මෙම එතීමට ලක් කරන ලද data type එකේ එතීම, ලෙහීමට අවශ්ය methods ඇත.
මෙය අපට chocolate එකකට සමාන කල හැක. නිෂ්පාදකයා විසින් chocolate එක නිපදවීමේදී එය නරක් වීමෙන් බේරා ගැනීමට එය ඊයම් කොළයකින් ඔතයි.
නමුත් පාරිභෝගිකයා එය මිලදී ගත් පසු මෙම wrapping එක ගලවා ඉවත දමා chocolate එක ආහාරයට ගනී.
පහත උදාහරණය බලන්න.
int k =10;
Integer i =new Integer(k);
මෙහි දක්වා ඇති k නම් int data type එක Integer class එක භාවිතයෙන් i නම් object එකක් බවට පත් කර ඇත. එමනිසා මෙම දත්තය object එකක් ලෙස අවශ්ය වන ඕනෑම අවස්ථාවක දී අපට භාවිතයට ගැනීමට පුළුවන්.
පහතින් දැක්වෙන්නේ මෙසේ wrap කරන ලද (ඔතන ලද) object එකකට අයත් value එක unwrap කරගන්නා ආකාරයයි.
int k =10;
Integer i =new Integer(k);
int m = i.intValue();
intValue() යනු integer class එකේ ඇති අදාල object එකට අයත් value එක int data එකක් ලෙස ලබාදෙන method එකයි.
wrapper class ලැයිස්තුව
java තුල ඇති primitive data type 8 ම වෙනුවෙන් wrapper classes 8ක් ද ඇත. පහත දක්වා ඇත්තේ එම ලැයිස්තුවයි.
Primitive data type | Wrapper class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
පහත දක්වා ඇත්තේ ඊට අදාල hierarchy එකයි.
මෙම සියලුම wrapper classes, java.lang පැකේජය තුල තබා ඇත්තේ එමගින් එය import කිරීමකින් තොරව භාවිතා කල හැකි වීමටයි. එසේම මෙම wrapper classes inherit වීම වැලැක්වීම සඳහා final ලෙස නම් කර ඇත.
මීළඟ පාඩමින් මෙම wrapper classes වලට අයත් methods පිළිබඳව විමසා බලමු.
ප්රාථමික දත්ත Object ලෙස ඔතමු. (Wrapper Classes)