PDA

View Full Version : معایب wrapper classها نسبت به primitive typeها چیست؟



F.zeinali
سه شنبه 02 آبان 1391, 22:49 عصر
سلام دوستان
فکر می کنم سوالم واضح باشه
ممنون

همایون افشاری
دوشنبه 08 آبان 1391, 17:22 عصر
بطور کلی Wrapper Class ها از نظر مقدار حافظه مصرفی قابل مقایسه با primitive ها نیست به خصوص وقتی تعداد متغیرها زیاد میشه (یه آرایه بسیار بزرگ رو در نظر بگیرید)
مثلا برای ذخیره یک شی از نوع Long نیاز به یه اشاره گر با اندازه double و همچنین خود مقدار عدد داریم و اینکه GC جاوا باید کنترل های خودش رو هم روی شی ایجاد کنه. اما یه مقدار long فقط شامل ۶۴ میشه که برای ذخیره عدد نیازه. نکته بعدی ارسال Wrapper Class به عنوان پارامتر به یه متده که با توجه به ماهیت call by reff جاوا در مورد اشیا ممکنه مقدار در طول کار متد عوض بشه که شاید مطلوب برنامه نویس نباشه.
(فعلا همین دو تا به ذهنم می رسه !!!!)
با وجود این Wrapper Class مزایایی هم داره مثلا کار با Collection ها در جاوا و ....

ناصرقلی
چهارشنبه 15 آذر 1391, 16:20 عصر
یکی از مشکلاتی که من باهاش بارها مواجه شدم زمانیه که بخوای یک شی از نوع عدد را که نال است به یک مقدار پریمیتیو نسبت بدی. در این حالت در موقع اجرا با یک NullPointerException وحشتناک مواجه می شی.
استفاده همزمان این دو نوع در یک برنامه بعضا موجب غیر قابل پیش بینی شدن نرم افزار می شه.