Wrapper Classes یا
کلاسهای بستهبندی، کلاسهایی در جاوا هستند که انواع دادههای ابتدایی (Primitive Data Types) را در قالب اشیاء (Objects) قرار میدهند. این کلاسها به شما امکان میدهند که با انواع دادههای اولیه به عنوان اشیاء رفتار کنید. در اینجا به توضیحات بیشتری در مورد Wrapper Classes میپردازیم:
انواع دادههای ابتدایی و کلاسهای بستهبندی متناظر
جاوا هشت نوع داده اولیه دارد که برای هر یک از آنها یک کلاس بستهبندی متناظر وجود دارد. در جدول زیر این انواع داده اولیه و کلاسهای بستهبندی آنها آمده است:
دلیل استفاده از Wrapper Classes
نیاز به اشیاء: برخی از ساختارهای جاوا مانند ArrayList و دیگر مجموعهها فقط با اشیاء کار میکنند. برای استفاده از انواع دادههای ابتدایی در این ساختارها باید از کلاسهای بستهبندی استفاده کنید.
استفاده از متدهای کلاس: کلاسهای بستهبندی شامل متدهای مفیدی هستند که به شما اجازه میدهند عملیات خاصی را روی دادههای ابتدایی انجام دهید، مانند تبدیل رشته به عدد (String to int) یا بررسی حداکثر و حداقل مقدار قابل نگهداری در یک نوع داده خاص.
کد انعطافپذیرتر: استفاده از کلاسهای بستهبندی به شما امکان میدهد که کدهای انعطافپذیرتر و قابل توسعهتری بنویسید.
AutoBoxing و UnBoxing
AutoBoxing: فرآیندی است که در آن جاوا بهطور خودکار یک نوع داده اولیه را به کلاس بستهبندی متناظر آن تبدیل میکند.
UnBoxing: فرآیندی است که در آن جاوا بهطور خودکار یک شیء از نوع کلاس بستهبندی را به نوع داده ابتدایی متناظر آن تبدیل میکند.
مثال:
// AutoBoxing
int num = 10;
Integer numObj = num; // int به Integer تبدیل میشود
// UnBoxing
Integer numObj2 = new Integer(20);
int num2 = numObj2; // Integer به int تبدیل میشود
روشهای متداول در Wrapper Classes
کلاسهای بستهبندی شامل متدهای زیادی هستند که برای کار با دادهها بسیار مفیدند:
parseXXX(String s): یک رشته را به نوع داده اولیه متناظر تبدیل میکند. مثلا Integer.parseInt("123") رشته "123" را به عدد 123 تبدیل میکند.
valueOf(String s): یک رشته را به یک شیء از کلاس بستهبندی تبدیل میکند. مثلا Integer.valueOf("123") رشته "123" را به یک شیء Integer با مقدار 123 تبدیل میکند.
xxxValue(): مقدار عددی شیء بستهبندی را به نوع داده اولیه متناظر برمیگرداند. مثلا intValue() مقدار Integer را به int تبدیل میکند.
مثال کاربردی
در این مثال، از کلاسهای بستهبندی استفاده میکنیم تا یک عدد را از نوع داده String به int تبدیل کرده و با آن محاسباتی انجام دهیم:
public class WrapperExample {
public static void main(String[] args) {
String numStr = "100";
// تبدیل رشته به نوع داده اولیه با استفاده از کلاس بستهبندی
int num = Integer.parseInt(numStr);
// انجام عملیات محاسباتی
int result = num + 50;
System.out.println("Result: " + result); // خروجی: Result: 150
}
}
خلاصه
Wrapper Classes کلاسهایی هستند که دادههای ابتدایی جاوا را به اشیاء تبدیل میکنند.
این کلاسها برای استفاده از دادههای ابتدایی در ساختارهایی که نیاز به اشیاء دارند ضروریاند.
امکاناتی مانند AutoBoxing و UnBoxing فرآیند تبدیل بین دادههای ابتدایی و اشیاء را سادهتر میکنند.
این کلاسها شامل متدهای مفیدی هستند که کار با دادههای ابتدایی را سادهتر و کد را انعطافپذیرتر میکنند.
با درک کامل Wrapper Classes، میتوانید از انواع دادههای ابتدایی به عنوان اشیاء استفاده کنید و کدهای خود را بهبود ببخشید.
Wrapper Classes یا کلاسهای بستهبندی، کلاسهایی در جاوا هستند که انواع دادههای ابتدایی (Primitive Data Types) را در قالب اشیاء (Objects) قرار میدهند. این کلاسها به شما امکان میدهند که با انواع دادههای اولیه به عنوان اشیاء رفتار کنید. در اینجا به توضیحات بیشتری در مورد Wrapper Classes میپردازیم:
انواع دادههای ابتدایی و کلاسهای بستهبندی متناظر جاوا هشت نوع داده اولیه دارد که برای هر یک از آنها یک کلاس بستهبندی متناظر وجود دارد. در جدول زیر این انواع داده اولیه و کلاسهای بستهبندی آنها آمده است:
دلیل استفاده از Wrapper Classes نیاز به اشیاء: برخی از ساختارهای جاوا مانند ArrayList و دیگر مجموعهها فقط با اشیاء کار میکنند. برای استفاده از انواع دادههای ابتدایی در این ساختارها باید از کلاسهای بستهبندی استفاده کنید. استفاده از متدهای کلاس: کلاسهای بستهبندی شامل متدهای مفیدی هستند که به شما اجازه میدهند عملیات خاصی را روی دادههای ابتدایی انجام دهید، مانند تبدیل رشته به عدد (String to int) یا بررسی حداکثر و حداقل مقدار قابل نگهداری در یک نوع داده خاص. کد انعطافپذیرتر: استفاده از کلاسهای بستهبندی به شما امکان میدهد که کدهای انعطافپذیرتر و قابل توسعهتری بنویسید.
AutoBoxing و UnBoxing AutoBoxing: فرآیندی است که در آن جاوا بهطور خودکار یک نوع داده اولیه را به کلاس بستهبندی متناظر آن تبدیل میکند. UnBoxing: فرآیندی است که در آن جاوا بهطور خودکار یک شیء از نوع کلاس بستهبندی را به نوع داده ابتدایی متناظر آن تبدیل میکند. مثال:
// AutoBoxing int num = 10; Integer numObj = num; // int به Integer تبدیل میشود
// UnBoxing Integer numObj2 = new Integer(20); int num2 = numObj2; // Integer به int تبدیل میشود
parseXXX(String s): یک رشته را به نوع داده اولیه متناظر تبدیل میکند. مثلا Integer.parseInt("123") رشته "123" را به عدد 123 تبدیل میکند. valueOf(String s): یک رشته را به یک شیء از کلاس بستهبندی تبدیل میکند. مثلا Integer.valueOf("123") رشته "123" را به یک شیء Integer با مقدار 123 تبدیل میکند. xxxValue(): مقدار عددی شیء بستهبندی را به نوع داده اولیه متناظر برمیگرداند. مثلا intValue() مقدار Integer را به int تبدیل میکند.
public class WrapperExample { public static void main(String[] args) { String numStr = "100";
}