به طور کلی Wrapper classها مشکلاتی که ممکن است در تبدیل نوع داده های Primitive به وجود آید را برطرف میکنند و قابلیتهای اضافهتری را به این نوع دادهها اضافه میکنند. حالا چه قابلیتهایی هستند؟
در جاوا دو نوع داده داریم:
byte, short, int, long, float, double, boolean, char
هر نوع داده ابتدایی در جاوا متناظر با یک Wrapper class است. برای مثال:
1. Integer
برای int
2. Long
برای long
3. Float
برای float
4. Double
برای double
5. Boolean
برای boolean
6. Byte
برای byte
7. Short
برای short
8. Character
برای char
این کلاس ها همه از کلاس Object به ارث برده شدهاند و علاوه بر متدهایی که از کلاس Object به آنها ارث برده شدهاست، متدهای خاصی را نیز برای عملیات روی داده های ابتدایی فراهم میکنند.
با استفاده از Wrapper classها، میتوان Primitive data typeها را به object تبدیل کرده و از ویژگی ها و متدهای این کلاس ها استفاده کرد.
به عنوان مثال، با استفاده از Integer Wrapper class، می توانید یک مقدار int را به صورت شیء Integer تبدیل کنید و از متدهایی مانند intValue()
، toString()
، compareTo()
و غیره بهره برد.
همچنین، در برخی موارد، استفاده از Wrapper class ها ضروری است، مانند استفاده از کلاسهای جمع و تفریقی (مثل ArrayList) که تنها از Wrapper class ها پشتیبانی میکنند.
در کل، Wrapper class ها در جاوا به ما امکان میدهند تا داده های ابتدایی را به شیء تبدیل کرده و عملیاتهای پیچیدهتر را روی آنها انجام دهیم.
تبدیل خودکار از نوع دادههای اولیه (primitive) به آبجکت (از جنس کلاس Wrapper) را autoboxing و عکس این عملیات را unboxing میگویند.
فعلا