Wrapper Classes ใน Java: มันคืออะไร ทำไมเราต้องการมัน

เผยแพร่แล้ว: 2021-12-23

Java ทำงานบนแนวคิดของ OOP – Object-Oriented Programming อย่างไรก็ตาม จาวาไม่ถือว่าเป็นภาษาเชิงวัตถุที่สมบูรณ์ นั่นเป็นเพราะ Java ทำงานกับข้อมูลพื้นฐานแปดประเภท – ไบต์ สั้น int ลอย ยาว และสองเท่า ชนิดข้อมูล Java เหล่านี้ไม่ใช่อ็อบเจ็กต์ ซึ่งทำให้ Java ไม่เชิงอ็อบเจ็กต์ทั้งหมด

อย่างไรก็ตาม คลาส wrapper เป็นวิธีที่ดีในการหลีกเลี่ยงข้อจำกัดนั้นโดยการแปลงชนิดข้อมูลดั้งเดิมเป็นอ็อบเจ็กต์ ด้วยวิธีนี้ คลาส wrapper ทำให้โค้ด Java เป็นแบบเชิงวัตถุอย่างสมบูรณ์

นี่เป็นหนึ่งในแนวคิดที่สำคัญกว่าที่ทุกคนจะเข้าใจโดยเริ่มด้วยภาษาการเขียนโปรแกรม Java มาช่วยคุณด้วยบทความนี้ อันดับแรก เราจะดูคลาส wrapper ใน Java และเหตุผลที่เราต้องการและข้อดีของมัน ในตอนท้ายของบทความ คุณจะอยู่ในฐานะที่จะทำงานกับคลาส wrapper ได้โดยไม่สับสน!

เรียนรู้ โปรแกรมพัฒนาซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

สารบัญ

คลาส Wrapper ใน Java

นักพัฒนาซอฟต์แวร์มักจะสะดุดกับสถานการณ์ที่ต้องการให้พวกเขาไม่ทำงานกับประเภทข้อมูลดั้งเดิม แต่ใช้กับวัตถุ เพื่อให้บรรลุการแปลงประเภทข้อมูลดั้งเดิมเป็นอ็อบเจ็กต์ Java จัดเตรียมโปรแกรมเมอร์ด้วยแนวคิดของคลาส wrapper คลาสนี้ช่วยในการแปลงจากดั้งเดิมเป็นวัตถุเช่นเดียวกับจากวัตถุเป็นชนิดข้อมูลดั้งเดิม

การสร้างคลาส wrapper จะสร้างฟิลด์ใหม่ที่จัดเก็บชนิดข้อมูลดั้งเดิมโดยอัตโนมัติ ออบเจ็กต์ของคลาส wrapper จะเก็บประเภทข้อมูลดั้งเดิมไว้ กระบวนการแปลงประเภทข้อมูลดั้งเดิมเป็นวัตถุโดยใช้คลาส wrapper นี้เรียกว่าการชกมวย ในขณะที่ทำงานกับคลาส wrapper คุณต้องส่งค่าของชนิดข้อมูลดั้งเดิมไปยังตัวสร้างของคลาส wrapper

คลาส wrapper หกคลาส - ไบต์ สั้น int ทุ่น ยาว และสองเท่า - เป็นคลาสย่อยทั้งหมดของคลาสตัวเลข ซึ่งเป็นคลาสนามธรรม คลาส wrapper สองคลาสที่เหลือ – บูลีนและอักขระ – เป็นคลาสย่อยของคลาสอ็อบเจ็กต์

ต่อไปนี้คือข้อมูลสรุปสั้นๆ ของคลาส wrapper สำหรับประเภทข้อมูลดั้งเดิมที่แตกต่างกัน พร้อมกับอาร์กิวเมนต์ Constructor ที่จำเป็นในการสร้างคลาส wrapper:

เหตุใดจึงจำเป็นต้องมีคลาส wrapper ใน Java

คลาส Wrapper ใน Java มีประโยชน์สำหรับสถานการณ์ที่โปรแกรมต้องการทำงานกับอ็อบเจ็กต์แทนที่จะเป็นชนิดข้อมูลดั้งเดิม ในแง่นั้น คลาส wrapper ช่วยให้โปรแกรม Java เป็นแบบเชิงวัตถุ 100% นอกจากนั้น คลาส wrapper ใน Java จำเป็นด้วยเหตุผลดังต่อไปนี้:

  • เพื่อผูกค่าของชนิดข้อมูลดั้งเดิมต่าง ๆ ลงในวัตถุ ซึ่งช่วยในการดำเนินการที่ซับซ้อนและทำงานกับคอลเลกชันเช่น HashMap, ArrayList เป็นต้น
  • เพื่อให้มีฟังก์ชันยูทิลิตี้ต่างๆ ที่สามารถใช้กับชนิดข้อมูลพื้นฐานได้
  • เนื่องจากชนิดข้อมูลดั้งเดิมไม่สามารถให้ค่า null ได้ แต่คลาสของ wrapper สามารถ พวกมันยังทำหน้าที่เป็นวิธีแก้ปัญหาสำหรับการกำหนดค่า null ให้กับชนิดข้อมูลดั้งเดิมใดๆ

ข้อดีของการใช้คลาส wrapper ใน Java คืออะไร?

คลาส Wrapper ใน Java ให้ประโยชน์หลักดังต่อไปนี้:

  • พวกเขาช่วยให้รหัสเป็นแบบอนุกรมได้ นี่เป็นเพราะการทำให้เป็นอันดับต้องมีการแปลงอ็อบเจ็กต์เป็นสตรีม หากโปรแกรมเมอร์ต้องการทำให้ค่าดั้งเดิมเป็นอนุกรม จะต้องแปลงค่าดังกล่าวเป็นอ็อบเจ็กต์โดยใช้คลาสของ wrapper ก่อน
  • ช่วยในการซิงโครไนซ์เนื่องจากการซิงโครไนซ์แบบมัลติเธรดใน Java ต้องใช้อ็อบเจ็กต์
  • ข้อมูลดั้งเดิมสามารถได้รับประโยชน์จากคลาส util ต่างๆ ของแพ็คเกจ Java.util
  • การทำงานกับเฟรมเวิร์กการรวบรวมสามารถทำได้โดยใช้คลาสแรปเปอร์
  • การแปลงชนิดข้อมูลดั้งเดิมเป็นวัตถุทำให้สามารถเปลี่ยนค่าภายในฟังก์ชันได้โดยใช้วิธีการเรียกต่อค่า
  • คลาส Wrapper ใน Java ช่วยให้มั่นใจว่าโปรแกรมเป็นแบบ polymorphic

ตัวอย่าง

1. การแปลงประเภทดั้งเดิมเป็นวัตถุ

ตัวอย่างคลาสสาธารณะ{

โมฆะคงที่สาธารณะหลัก (สตริง args[]){

//แปลง float primitive เป็นวัตถุ Float

ลอย n=10.10;

ลอย obj=Float.valueOf(n);

System.out.println(n+ ” “+ obj);

}

}

เอาท์พุท:

10.10 10.10

ตามที่ผลลัพธ์แสดง ทั้งข้อมูลดั้งเดิมและวัตถุมีค่าเท่ากัน ดังนั้นคุณจึงสามารถเข้าถึงค่าเดียวกันได้โดยใช้ obj หรือ n ตามที่คุณต้องการ ตามสถานการณ์

2. การแปลงวัตถุเป็นประเภทดั้งเดิม

ตัวอย่างคลาสสาธารณะ{

โมฆะคงที่สาธารณะหลัก (สตริง args[]){

//สร้างอ็อบเจ็กต์ Wrapper

โฟลต o= โฟลตใหม่ (50.00);

//แปลงวัตถุเป็นดั้งเดิม

ลอย n= obj.floatValue();

System.out.println(n+ ” “+ o);

}

}

เอาท์พุท:

50.00 50.00

ออบเจ็กต์ float ถูกแปลงกลับเป็นประเภทข้อมูล float primitive ในตัวอย่างด้านบน ในทำนองเดียวกัน คุณสามารถทำการแปลงและปรับแต่งได้มากมายโดยใช้คลาส wrapper ใน Java มีฟังก์ชันต่างๆ ที่คลาส wrapper ทำงานด้วย การสนทนานั้นอยู่นอกเหนือขอบเขตของบทความนี้ แต่เราขอแนะนำให้คุณสำรวจคลาสของ wrapper ในเชิงลึก พร้อมกับฟังก์ชันต่างๆ ที่คุณจะต้องใช้งานเมื่อจัดการคลาสของ wrapper

สรุปแล้ว

เช่นเดียวกับคลาสของ wrapper ยังมีแนวคิดและแนวคิดที่จำเป็นอื่นๆ อีกมากมายที่คุณต้องฝึกฝนเพื่อให้เชี่ยวชาญในการพัฒนาซอฟต์แวร์ ที่ upGrad เราได้ให้คำปรึกษาแก่นักเรียนหลายคนทั่วโลกและช่วยให้พวกเขาเริ่มต้นอาชีพในสาขาที่ต้องการ เซสชั่นการฝึกอบรมส่วนบุคคลของเราและการอภิปรายกรณีศึกษาที่นำโดยผู้เชี่ยวชาญช่วยให้นักเรียนอยู่เหนือแนวคิดทั้งหมดที่ได้รับ

เพื่อช่วยให้นักเรียนเริ่มต้นอาชีพการพัฒนาซอฟต์แวร์ เราขอเสนอโปรแกรมออนไลน์ 5 เดือนที่สร้างโดยผู้เชี่ยวชาญและผู้นำในอุตสาหกรรม – Job -Linked PG Certification in Software Engineering นอกเหนือจากการสอนรายละเอียดต่างๆ ในสาขานี้ให้กับคุณแล้ว โปรแกรมนี้ยังช่วยให้คุณได้รับตำแหน่งในบริษัทชั้นนำอีกด้วย ลองดูหลักสูตรนี้และลงทะเบียนด้วยตัวคุณเองวันนี้!

เหตุใดจึงจำเป็นต้องใช้คลาส wrapper ใน Java

คลาส Wrapper เป็นพื้นฐานใน Java เนื่องจากช่วยให้โปรแกรม Java เป็นแบบเชิงวัตถุได้อย่างสมบูรณ์ ชนิดข้อมูลดั้งเดิมใน java ไม่ใช่อ็อบเจ็กต์ โดยค่าเริ่มต้น พวกเขาจะต้องถูกแปลงเป็นวัตถุโดยใช้คลาสแรปเปอร์

มีคลาส wrapper ใน Java กี่คลาส?

จำนวนคลาสของ wrapper ใน Java เท่ากับจำนวนประเภทข้อมูลดั้งเดิมที่ Java รองรับ เช่น 8

คลาส wrapper ใน Java เปลี่ยนแปลงได้หรือไม่

ใช่ คลาสของ wrapper สามารถเปลี่ยนแปลงได้