Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เหตุใดเราจึงต้องการคลาส wrapper ใน Java


คลาส 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