แต่ละ ประเภทดั้งเดิม ใน Java มี เสื้อคลุมในตัว . ที่สอดคล้องกัน class และคลาส wrapper เหล่านี้ก็เปลี่ยนไม่ได้ . จำนวนเต็ม ลอย สองเท่า ไบต์ และอื่นๆ เป็นคลาสของ wrapper ในตัว แรงจูงใจหลักของการใช้ wrappers ดังกล่าวในโค้ดของเราคือ การเข้าถึงข้อมูลประเภท เกี่ยวกับประเภทดั้งเดิมที่เกี่ยวข้อง มวยอัตโนมัติ คุณลักษณะที่ข้อมูลดั้งเดิมได้รับการส่งเสริมโดยอัตโนมัติเป็นประเภทการอ้างอิงวัตถุ และย้ายข้อมูลประเภทดั้งเดิมไปรอบ ๆ โครงสร้างข้อมูล
เราสามารถสร้างตัวอย่าง Wrapper Classes โดยใช้ ใหม่ โอเปอเรเตอร์ และยังใช้ valueOf() วิธีการภายในประเภทเช่น จำนวนเต็ม เพื่อสร้าง วัตถุห่อหุ้ม . Integer.valueOf() วิธีการจะนำวัตถุจำนวนเต็มที่มีอยู่กลับมาใช้ใหม่ด้วยค่าเดียวกันบนฮีป หากมีอ็อบเจ็กต์ที่มีค่าเท่ากันในฮีป มันจะส่งคืนการอ้างอิงไปยังอ็อบเจ็กต์ที่มีอยู่ มิฉะนั้นจะส่งคืนการอ้างอิงของอ็อบเจ็กต์ Integer ที่สร้างขึ้นใหม่
ในข้อมูลโค้ดด้านล่าง เราสามารถสร้างออบเจ็กต์ wrapper ในเครื่องมือ JShell
Snippet-1
jshell> Integer int1 = new Integer(10); int1 ==> 10 jshell> Integer int2 = new Integer(10); int2 ==> 10 jshell> Integer int3 = Integer.valueOf(10); int3 ==> 10 jshell> Integer int4 = Integer.valueOf(10); int4 ==> 10 jshell> int1 == int2; $7 ==> true jshell> int3 == int4; $8 ==> true
Snippet-2
jshell> Integer abc1 = Integer.valueOf(700); abc1 ==> 700 jshell> Integer abc2 = 700; abc2 ==> 700 jshell> Integer abc3 = 700; abc3 ==> 700 jshell> abc2 == abc3 $4 ==> false jshell> Integer.MAX_VALUE $5 ==> 2147483647 jshell> Integer.MIN_VALUE $6 ==> -2147483648 jshell> Integer.SIZE $7 ==> 32 jshell> Integer.BYTES $8 ==> 4