คลาส Wrapper เป็นคลาสที่มีประเภทข้อมูลพื้นฐาน (int, char, short, byte ฯลฯ) . กล่าวอีกนัยหนึ่ง คลาส wrapper ให้วิธีการใช้ประเภทข้อมูลดั้งเดิม (int, char, short, byte ฯลฯ) เป็นวัตถุ . คลาส wrapper เหล่านี้อยู่ภายใต้แพ็คเกจ java.util .
เหตุใดเราจึงต้องการ Wrapper Class
- Wrapper Class จะ แปลงประเภทข้อมูลดั้งเดิมเป็นวัตถุ . ออบเจ็กต์มีความจำเป็นหากเราต้องการแก้ไขอาร์กิวเมนต์ที่ส่งผ่านไปยังเมธอด (เนื่องจากประเภทพื้นฐาน ส่งผ่านโดยค่า )
- คลาสในแพ็คเกจ java.util จัดการเฉพาะวัตถุและด้วยเหตุนี้ คลาสตัวห่อหุ้ม ช่วยในกรณีนี้ด้วย
- ข้อมูล โครงสร้าง ในกรอบงานการรวบรวม เช่น ArrayList และ Vector เก็บเฉพาะอ็อบเจ็กต์ (ประเภทอ้างอิง) ไม่ใช่ประเภทดั้งเดิม
- จำเป็นต้องมีวัตถุเพื่อรองรับการซิงโครไนซ์ ใน มัลติเธรด .
การใช้งานคลาส wrapper ใน Java
การออโต้บ็อกซ์ในคลาส Wrapper
Autoboxing ใช้เพื่อ แปลงประเภทข้อมูลดั้งเดิมเป็นวัตถุที่เกี่ยวข้อง .
ตัวอย่าง
<ก่อน> AutoBoxingTest คลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง args []) { int num =10; // int ดั้งเดิม Integer obj =Integer.valueOf(num); // การสร้างคลาสอ็อบเจ็กต์ wrapper System.out.println(num + " " + obj); }}ผลลัพธ์
10 10
การแกะกล่องในคลาส Wrapper
Unboxing ใช้เพื่อ แปลงอ็อบเจ็กต์คลาส Wrapper เป็นประเภทข้อมูลดั้งเดิมที่เกี่ยวข้อง .
ตัวอย่าง
<ก่อน> UnboxingTest คลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง args []) { Integer obj =จำนวนเต็มใหม่ (10); // การสร้างวัตถุคลาส Wrapper int num =obj.intValue(); // การแปลงออบเจ็กต์ wrapper เป็นประเภทข้อมูลพื้นฐาน System.out.println(num + " " + obj); }}ผลลัพธ์
10 10