به طور کلی 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 میگویند.
فعلا