Wrapper Class ใน Java | คลาส Java Wrapper

เผยแพร่แล้ว: 2021-02-24

สารบัญ

Wrapper Class ใน Java คืออะไร?

Java เป็นภาษาเชิงวัตถุที่แปลงประเภทข้อมูลดั้งเดิมเป็นคลาสอ็อบเจ็กต์ ดังนั้นวัตถุคลาส wrapper ช่วยให้เราสามารถแปลงค่าที่ส่งผ่านดั้งเดิม คลาส wrapper เหล่านี้สนับสนุนกระบวนการมัลติเธรดและการซิงโครไนซ์ ด้วยความช่วยเหลือนี้ เราสามารถทำงานกับคอลเลกชันต่างๆ เช่น Vector, LinkedList, ArrayList

ขั้นตอนกระบวนการของคลาส Wrapper

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

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

การใช้ Wrapper Class ในการเขียนโปรแกรม Java

  • เราสามารถใช้คลาส wrapper และสร้างฟังก์ชันด้วยพารามิเตอร์โดยใช้ชนิดข้อมูลพื้นฐาน
  • เราสามารถเปลี่ยนชนิดข้อมูลดั้งเดิมเป็นคลาส wrapper ที่แตกต่างกันได้
  • คลาส Wrapper อนุญาตให้ใช้วิธีการต่างๆ ในขณะที่ใช้คอลเลกชัน เช่น การเรียงลำดับและการค้นหา
  • คลาส wrapper ใช้เทคนิคในการแปลง primitive เป็น object และ object เป็น primitive
  • มีแนวคิดของการ autoboxing และ unboxing ในคลาส wrapper ซึ่งเปลี่ยน primitives เป็นวัตถุและวัตถุเป็น primitives โดยอัตโนมัติ
  • ใน Java เรามีกลไกการซิงโครไนซ์ที่ทำงานกับอ็อบเจ็กต์ในมัลติเธรด

ชนิดข้อมูลดั้งเดิมคืออะไร?

ก่อนที่จะทำความเข้าใจวัตถุคลาส wrapper ให้ลึกซึ้งยิ่งขึ้น เราต้องเข้าใจแนวคิดของประเภทข้อมูลดั้งเดิม:

ชนิดข้อมูลพื้นฐานกำหนดขนาดและประเภทของค่าตัวแปร ใน Java เรามีข้อมูลพื้นฐานแปดประเภท ซึ่งมีดังนี้:

ที่มาของภาพ

คุณสมบัติของคลาส Java Wrapper

  1. คลาส Wrapper แปลงสตริงตัวเลขเป็นค่าตัวเลข
  2. เราสามารถเก็บข้อมูลดั้งเดิมไว้ในวัตถุได้
  3. เราสามารถใช้เมธอด valueOf() ในคลาส wrapper ทั้งหมดโดยไม่มีสตริง
  4. เราสามารถใช้ typeValue() กับคลาส wrapper ที่มีอยู่ทั้งหมดได้ มันทำหน้าที่เป็นประเภทดั้งเดิมและส่งกลับค่าของวัตถุ

ด้านล่างนี้คือคุณสมบัติของคลาส Wrapper:

  1. การปรับเปลี่ยนค่าในฟังก์ชัน: ในการเขียนโปรแกรมจาวา เรามีฟังก์ชัน 'การเรียกตามค่า' ซึ่งเราสามารถส่งผ่านพารามิเตอร์ค่าดั้งเดิมได้
  2. การทำให้ เป็นอันดับ: ในการทำให้เป็นอันดับ เราแปลงอ็อบเจ็กต์ภายในสตรีมเพื่อใช้การทำให้เป็นอนุกรม เราสามารถสร้างมันขึ้นมาใหม่ในวัตถุด้วยความช่วยเหลือของคลาสของเสื้อคลุม
  3. การซิงโครไนซ์: การซิงโครไนซ์ Java ทำงานเป็นวัตถุในมัลติเธรด
  4. แพ็คเกจ java.util: แพ็คเกจ java.util ใช้คลาสยูทิลิตี้เพื่อให้ตรงกับอ็อบเจ็กต์
  5. กรอบงานการรวบรวม: กรอบงานการรวบรวม Java ทำงานรวมถึงวัตถุเท่านั้น ที่นี่ เรามีคอลเล็กชันเฟรมเวิร์กคลาสต่างๆ ตัวอย่างเช่น HashSet, TreeSet, ArrayDeque, ArrayList, Vector และ LinkedList

อ่านเพิ่มเติม: สถาปัตยกรรมและส่วนประกอบ Java

การใช้ Autoboxing และ Unboxing ในคลาส Wrapper พร้อมตัวอย่าง

ออโตบ็อกซ์ : เป็นการแปลงอัตโนมัติของประเภทดั้งเดิมเป็นออบเจ็กต์ของคลาส wrapper ที่สอดคล้องกัน ตัวอย่างเช่น การแปลง long เป็น Long และ int เป็น Integer เพิ่มเป็นสองเท่าเป็น Double

แกะกล่องใน Java

การแกะกล่องเป็นสิ่งที่ตรงกันข้ามกับการทำ Autoboxing เป็นวิธีการแปลงอ็อบเจ็กต์คลาส Wrapper ภายในชนิดข้อมูล Primitive ที่สอดคล้องกัน ตัวอย่างเช่น เราสามารถแปลงอ็อบเจ็กต์ Integer เป็นชนิดข้อมูลพื้นฐาน เช่น int

ประโยชน์ของคลาส Wrapper

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

ชำระเงิน: โครงการ Java และหัวข้อ

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

บทสรุป

เราหวังว่าบทความนี้จะช่วยให้คุณเข้าใจ คลาส wrapper ใน Java

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java, การพัฒนาแบบฟูลสแตก, ลองดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง, โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

คลาส wrapper ใน Java คืออะไร?

ในภาษา Java คลาส wrapper เป็นอินเทอร์เฟซที่ใช้ในการส่งผ่านประเภทดั้งเดิมไปยังองค์ประกอบเชิงวัตถุ ตัวอย่างเช่น หากเราต้องการส่งค่า int ไปยังคลาสอ็อบเจ็กต์ เราต้องสร้างคลาส wrapper ซึ่งเขียนเหมือน Integer และหลังจากนั้น เราสามารถใช้คลาส wrapper นี้เป็นอ็อบเจ็กต์และส่งค่าจำนวนเต็มไปยังคลาสอ็อบเจกต์และสามารถทำได้ การจัดการกับค่าดั้งเดิม ใน Java คลาส wrapper คือคลาสที่รวมประเภทข้อมูลดั้งเดิมตั้งแต่หนึ่งประเภทขึ้นไป คลาส Wrapper นั้นพบได้ทั่วไปในจาวา ตัวอย่างเช่น String, Integer และ Boolean เป็นคลาสของ wrapper คลาส Wrapper ใช้เพื่อจัดการกับชนิดข้อมูลดั้งเดิมเป็นอ็อบเจ็กต์

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

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

autoboxing และ unboxing ใน Java คืออะไร

การทำ Autoboxing และ Unboxing หมายถึงสถานการณ์ที่ค่าดั้งเดิมถูกรวมไว้ในคลาส wrapper ที่สอดคล้องกันโดยอัตโนมัติ สมมติว่าคุณมีค่า 5 และคุณกำหนดค่านั้นให้กับตัวแปรประเภท Integer คอมไพเลอร์จะใส่กล่องค่านั้นโดยอัตโนมัติและจะสร้างอินสแตนซ์ของตัวตัดทอน อินสแตนซ์ wrapper นี้เป็นคลาส Integer แทนที่จะเป็น int ในทำนองเดียวกัน หากคุณกำหนด wrapper จำนวนเต็มนี้ให้กับตัวแปรประเภท Double คอมไพเลอร์จะแกะกล่องโดยอัตโนมัติ และจะรวมค่า 5 เป็นค่าดั้งเดิมของประเภท double และกำหนดให้กับตัวแปรประเภท double การแกะกล่องทำงานในลักษณะเดียวกัน สมมติว่าคุณมีการอ้างอิงของคลาส Integer ซึ่งเป็นอ็อบเจ็กต์ และคุณกำหนดอ็อบเจ็กต์นั้นให้กับตัวแปรประเภท int ดั้งเดิม คอมไพเลอร์จะแกะกล่องอ็อบเจ็กต์และสร้างอ็อบเจ็กต์ int ดั้งเดิม สิ่งนี้เรียกว่าการแกะกล่องแบบดั้งเดิม