تفاوت کلیدی – کلاس Wrapper در مقابل نوع اولیه در جاوا
Java یک زبان برنامه نویسی محبوب است که برای توسعه برنامه های کاربردی مختلف استفاده می شود. یکی از مزایای جاوا این است که از برنامه نویسی شی گرا (OOP) پشتیبانی می کند. با استفاده از OOP، برنامه یا نرم افزار را می توان با استفاده از اشیاء مدل کرد. یک کلاس به عنوان یک نقشه برای ایجاد یک شی استفاده می شود. در برنامه نویسی، ذخیره داده ها ضروری است. مکان های حافظه رزرو شده برای ذخیره داده ها به عنوان متغیر شناخته می شوند. هر متغیر دارای یک نوع داده خاص است. هشت نوع اولیه وجود دارد که توسط زبان جاوا ارائه شده است. آنها کوتاه، بایت، int، شناور، دوبل، کاراکتر، بولی هستند.گاهی لازم است نوع اولیه به یک شی و شیء به نوع اولیه تبدیل شود. برای این تبدیل از کلاس های wrapper استفاده می شود. این مقاله به تفاوت بین کلاس wrapper و نوع اولیه در جاوا می پردازد. تفاوت اصلی بین کلاس wrapper و نوع اولیه در جاوا این است که کلاس wrapper برای تبدیل یک نوع اولیه به یک شی و یک شیء به نوع اولیه استفاده می شود در حالی که نوع اولیه یک نوع داده از پیش تعریف شده است که توسط زبان برنامه نویسی جاوا ارائه می شود.
کلاس Wrapper در جاوا چیست؟
یک کلاس Wrapper در جاوا برای تبدیل یک نوع داده اولیه به یک شی و یک شی به یک نوع اولیه استفاده می شود. حتی انواع داده های اولیه برای ذخیره انواع داده های اولیه، ساختارهای داده مانند فهرست های آرایه و بردارها، اشیاء را ذخیره می کنند. بنابراین، لازم است از کلاس های wrapper برای تبدیل استفاده شود. کلاس های بسته بندی مربوطه برای انواع اولیه char، byte، short و int عبارتند از Character، Byte، Short و Integer.کلاسهای wrapper مربوط به long، float، double و boolean عبارتند از Long، Float، Double و Boolean.
شکل 01: برنامه جاوا که کلاس های Wrapper را به انواع اولیه تبدیل می کند
طبق برنامه فوق، intobj یک شیء کلاس wrapper عدد صحیح است. floatobj یک شی از کلاس شناور wrapper است. doubleobj یک شی از کلاس Double wrapper است. شیء Integer با استفاده از intValue () به یک int اولیه تبدیل می شود. به طور مشابه، شی Float با استفاده از floatValue() به یک float اولیه تبدیل می شود. شی Double با استفاده از doubleValue () به double اولیه تبدیل می شود. اگر برنامه نویس عبارت را به صورت int i=intobj بنویسد. کامپایلر به صورت داخلی ()inbj. Value می نویسد. فرآیند تبدیل خودکار یک شی از یک کلاس wrapper به نوع اولیه مربوط به آن به عنوان unboxing شناخته می شود.مجموعه هایی مانند ArrayLists از کلاس Wrapper استفاده می کنند زیرا اشیاء را ذخیره می کنند.
Primitive Type در جاوا چیست؟
انواع داده های اولیه انواع داده های از پیش تعریف شده ای هستند که توسط زبان برنامه نویسی جاوا ارائه می شوند. هشت نوع اولیه وجود دارد. آنها بایت، کوتاه، int، طولانی، شناور، دوبل، بولی و کاراکتر هستند. نوع داده بایت برای ذخیره یک عدد صحیح متمم دو علامت ۸ بیتی استفاده می شود. نوع داده کوتاه برای ذخیره عدد صحیح مکمل دو امضا شده 16 بیتی استفاده می شود. یک نوع داده int برای ذخیره اعداد صحیح مکمل دو با علامت 32 بیتی استفاده می شود در حالی که از نوع داده طولانی برای ذخیره اعداد صحیح مکمل دو علامت دار 64 بیتی استفاده می شود. شناور برای ذخیره مقدار ممیز شناور 32 بیتی با دقت تک و دو برای ذخیره مقدار ممیز شناور 64 بیتی با دقت مضاعف استفاده می شود. بولی برای نشان دادن درست یا نادرست استفاده می شود. char برای ذخیره یک کاراکتر استفاده می شود. اینها هشت نوع اولیه در جاوا هستند.
شکل 02: برنامه جاوا که انواع اولیه را به کلاس های Wrapper تبدیل می کند
طبق برنامه فوق، num1 یک نوع int است. با ارسال num1 به Integer.valueOf() به یک عدد صحیح تبدیل می شود. float1 می تواند مقادیر float را ذخیره کند. با عبور float1 به Float.valueOf() به نوع Float تبدیل می شود. به طور مشابه، double1 می تواند مقادیر دوگانه را ذخیره کند. با عبور double1 به Double.valueOf() به نوع Double تبدیل می شود. اگر برنامه نویس عبارت را به صورت Interger intobj=num1 بنویسد; کامپایلر به صورت داخلی Integer.valueOf(num1) را می نویسد. فرآیند تبدیل نوع اولیه به شیء کلاس wrapper مربوطه به طور خودکار به عنوان autoboxing شناخته می شود.
شباهت بین کلاس Wrapper و نوع اولیه در جاوا چیست؟
هم کلاس Wrapper و هم نوع اولیه در جاوا می توانند برای ذخیره داده ها در برنامه نویسی استفاده شوند
تفاوت بین کلاس Wrapper و نوع اولیه در جاوا چیست؟
کلاس Wrapper در مقابل نوع اولیه در جاوا |
|
کلاس Wrapper مکانیزمی برای تبدیل نوع اولیه به شی و شی به نوع اولیه ارائه می دهد. | نوع ابتدایی یک نوع داده از پیش تعریف شده ارائه شده توسط جاوا است. |
کلاس مرتبط | |
یک کلاس Wrapper برای ایجاد یک شی استفاده می شود. بنابراین، یک کلاس مربوطه دارد. | یک نوع اولیه یک شی نیست بنابراین به یک کلاس تعلق ندارد. |
مقادیر تهی | |
اشیاء کلاس wrapper مقادیر null را مجاز میکنند. | یک نوع داده ابتدایی مقادیر null را مجاز نمی کند. |
حافظه مورد نیاز | |
حافظه مورد نیاز بالاتر از انواع اولیه است. شاخص خوشهای به فضای اضافی نیاز ندارد. | حافظه مورد نیاز در مقایسه با کلاس های wrapper کمتر است. |
مجموعه | |
یک کلاس Wrapper را می توان با مجموعه ای مانند ArrayList و غیره استفاده کرد. | یک نوع اولیه برای مجموعه ها استفاده نمی شود. |
خلاصه - کلاس Wrapper در مقابل نوع اولیه در جاوا
زبان جاوا هشت نوع داده اولیه را ارائه می دهد. گاهی اوقات نیاز به تبدیل انواع اولیه به شی و همچنین تبدیل مجدد اشیاء به اولیه می باشد. برای رسیدن به آن کار می توان از کلاس های Wrapper استفاده کرد. تفاوت بین کلاس wrapper و نوع اولیه در جاوا این است که کلاس wrapper برای تبدیل یک نوع اولیه به یک شی و یک شیء به یک نوع اولیه استفاده می شود در حالی که نوع اولیه یک نوع داده از پیش تعریف شده است که توسط زبان برنامه نویسی جاوا ارائه می شود.