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

จะสร้างวัตถุห่อหุ้มใน JShell ใน Java 9 ได้อย่างไร?


แต่ละ ประเภทดั้งเดิม ใน 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