Friday 8 April 2016

ரேப்பர் கிளாஸ் (wrpper class) –ஜாவா




                                                                                                             
ரேப்பர் கிளாஸ் அறிமுகம்

ஜாவாவில் பொதுவாக 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 மாறுகின்றது.

                                                               முற்றும்.
                                                               முத்து கார்த்திகேயன், மதுரை


No comments:

Post a Comment