پوریجا شماره اول - AutoBoxing & Unboxing

پرسیده شده
فعالیت 1439 روز پیش
دیده شده 968 بار
4

 

قبل از سلام اگر بی حوصله ای میتونی اخر تاپیک خلاصه این اموزش رو بخونی .

 

دوستان سلام از امشب یعنی ۳ خرداد ۹۹ من تصمیم گرفتم هر از گاهی پستی منوط به یاد گیری زبان جاوا به زبان خیلی خیلی ساده بذارم 

و همچنین من این مطالب رو به زبان عامیانه مینویسم و از جایی کپی نمیکنم.

اما پوریچا چی هست؟ پوری (مخفف اسم خودم یعنی پوریا) + جا ( زبان دوست داشتنی من یعنی جاوا)

-----------------------------------------------

بریم برای آموزش :

AutoBocxing and Unboxing چیه؟ 

خیلی ساده بخواهم بگم یعنی بسته بندی شدن  و از بسته بندی در اوردن ی چیزی اما اون ی چیز چیه؟

int num = 10;
Integer num1 = new Integer(num);

مثال بالا رو در ذهنتون داشته باشید ببینید نوع داده ....,int,double,float بهش میگن primitive و نوع داده Integer و Double و ...هم بهش میگن wrapper (که این ها نوع کلاسی همون primitive ها هستند یعنی هر نوع primitive ی نوع کلاسی هم داره ) که این نوع کلاسی ها داخل کلاس مربوطه شون اگر برین ی سری متد میبینین که میتونین خیلی کارا باهاشون بکنین (مثلا از نوع wrapper ها ) شی بسازید و روی اون شی ها متد call کنید .

اما در مثال بالا من اومدم مقدار primitive رو یعنی عدد ۱۰ ریختم توی نوع wrapper از نوع Integer که به این عمل AutoBoxing میگن 

اما بر عکس این روش رو میگن unBoxing یعنی چی؟

به مثال زیر توجه کنید :

Integer num = new Integer(10);
int num2=num.intValue();

من در اینجا اومدم مقدار num که عدد ده هست و از wrapper مون یعنی Integer درست شده رو ریختم توی نوع داده int که اسمشم num۲ هست که به این عمل unBoxing گویند 

نکته مهم : این اعمال در جاوا به صورت خودگار انجام میشه .

کاربرد در برنامه نویسی :فرض کنید یه متدی داریم به صورت زیر 

public void test(Integer a){
 //...
}

اگر ما بیایم به این متد مقداری بدیم یعنی مثلا بنویسیم :

test(15);

این عدد ۱۵ ما که از نوع  int هست یعنی نوع primitive ه  به صورت خودکار به Integer تبدیل میشه پس همونطور که باید حدس زده باشین عمل Autoboxing داره انجام میشه .

درس تموم شد 

دوست دارم تعامل کنیم بنظرتون کاربر های دیگر این اعمال کجا میتونه باشه؟

اگر دوست داشتین کلید star رو بزنین (تا بدونم چند نفر دوست داشتید ) تا بازم بنویسم (بستگی داره دوست داشته باشین) تا با هم یاد بگیریم .

پوریا هستم از سون لرن .

خداقوت.

پایان.

اما واسه افراد بی حوصله خلاصه ای نوشتم :

AutoBoxing یعنی تبدیل primitive به wraperClass

Unboxing یعنی تبدیل wraperClass به primitive 

که هر دو در جاوا به صورت خودکارانجام میشن .

 

فایل پیوست

پوریا شفیعی
پوریا شفیعی

3 خرداد 99