ரேப்பர் கிளாஸ் அறிமுகம்
ஜாவாவில்
பொதுவாக primitive data types என்பது(உதாரணமாக int,float,double போன்றவை) value
type ஆகும்.இவற்றை value ஆக மட்டுமே நம்மால் அனுக முடியும்.சில சமயங்களில் இந்த
value type ஆனது ஆப்ஜெக்டாக தேவைப்படலாம்.உதாரணமாக ஒரு value type வேரியபிளை ஒரு மெத்தடிற்கு
reference ஆக அனுப்ப முடியாது.இதனை ஜாவா ரேப்பர் கிளாஸ்(wrapper classes )என்கின்ற
லைப்ரரி கிளாஸஸ் மூலம் ஆப்ஜெக்ட் ஆக மாற்றலாம்.இந்த லைப்ரரி கிளாஸஸ் java.lang என்கின்ற
பேக்கேஜில் உள்ளது.
டேட்டா
டைப்பும் அதற்கான ரேப்பர் கிளாஸஸும் கீழே பட்டியிடப்பட்டுள்ளது.
Data type
|
Wrapper class
|
boolean
|
Boolean
|
byte
|
Byte
|
int
|
Integer
|
float
|
Float
|
char
|
Character
|
short
|
Short
|
long
|
Long
|
double
|
Double
|
செயல்பாடு
ஒவ்வொரு
ரேப்பர் கிளாஸின் பெயரும் capital எழுத்தில் ஆரம்பித்திருப்பதை கவனிக்கவும்
ஆப்ஜெக்டாக
மாற்றுதல்:
Byte
a=new Byte(10)
இங்கு
10 என்கின்ற byte மதிப்பானது ஆப்ஜெக்ட் ஆக மாற்றப்பட்டுள்ளது
மேலும்
சில உதாரணங்கள்
Integer
i=new Integer(100)
double
d1=12.0;
Double
d2=new Double(d1)
இங்கு
I,d2 போன்றவை ஆப்ஜெக்ட் ஆகும்.
ரேப்பர்
கிளாஸ் ஆனது ப்ரைமரி டேட்டா டைப்பிற்கும் String டைப்பிற்கும் இடையே ஒன்றுக்கொன்று
இனம் மாற்றிக் கொள்வதற்கு பயன்படுகின்றது.மேலும் ஒவ்வொரு ரேப்பர் கிளாஸும் ஆப்ஜெக்ட்
இனத்திலிருந்து primitive data type ஆக மாற்றுவதற்கான மெத்தடையும் சேர்ந்தே வழங்குகின்றது.
சான்று:
Double
d1=new Double(12.0);
double
d2=d1.doubleValue();
இங்கு
d1 என்கின்ற ரெஃபரன்ஸ் (object) உருவாக்கப்பட்டு பின் d2 என்கின்ற double மதிப்பாக
மாற்றப்பட்டுள்ளது.
ரேப்பர் கிளாஸ் உபயோகப்படுத்துவற்கானங்கள்;
Ø String இனத்திலிருந்து int போன்ற மதிப்பினங்களாக
மாற்றுதல்
Ø ஆப்ஜெக்டில் primitive மதிப்பை இருத்துதல்
கீழே உள்ள
உதாரணங்களில் எவ்வாறு String இனத்திலிருந்து இன்ட் மற்றும் டபிள் (double) இனத்திற்கு
மாற்றுவது என காட்டப்பட்டுள்ளது
String
str1=”10”;
Int
a=Integer.parseInt(str1);
String
str2=”15.0”;
double
d=Double.parseDouble(str2);
கீழே உள்ள
உதாரணங்களில் எவ்வாறு primitive type ஆனதை String ஆக மாற்றுவது எனக்காட்டப்பட்டுள்ளது.
Int
a=10;
String
sa=Integer.toString(a);
double
d=15.4;
String
sd=Double.toString();
Autoboxing மற்றும் Auto-unboxing
Jdk 5 ஆனது
Autoboxing மற்றும் Autounboxing என்னும் இரு கருத்துகளை அறிமுகப்படுத்தியது.அதாவது
ஒரு primitive டைப் வேரியபிளானது explicit ஆக ஆப்ஜெக்ட் மாற்றப்பட வேண்டியதில்லை.ஒரு
ஆப்ஜெக்டிற்கு primitive டைப் வேரியபிள் Assign செய்யப்படும் போது தானாகவே ஆப்ஜெக்டாக மாற்றப்படும்.இது autoboxing எனப்படும்
அதே போல் ஒரு ஆப்ஜெக்ட் ஆனது ஒரு primitive type வேரியபிளுக்கு assign செய்யும் பொழுது
தானாகவே value type ஆக மாறும். இது auto-unboxing எனப்படும்.
சான்று
நிரல்
class AutoBox
{
public static void
main(String args[])
{
Integer iOb = 100;
// autobox an int
int i = iOb; //
auto-unbox
System.out.println(i
+ " " + iOb);
}
}
Output:
100 100
நிரல்
விளக்கம்:
100 எனும்
மதிப்பு iob என்கின்ற Integer ஆப்ஜெக்டிற்கு மதிப்பிருத்தும் போது தானாகவே ஆப்ஜெக்ட்
ஆக(boxing) மாறுகின்றது. new ஆபரேட்டர் உபயோகப்படுத்தபடவில்லை என்பதை கவனிக்கவும்.
பின்பு அந்த ஆப்ஜெக்ட் i என்கின்ற int என்கின்ற primitive type வேரியபிளுக்கு மதிப்பிருத்தும்
போது தானாகவே (unboxing) primitive type மாறுகின்றது.
please also visit
http://karthikeyantutorials.com/
please also visit
http://karthikeyantutorials.com/
முற்றும்.
முத்து கார்த்திகேயன், மதுரை