Rumah >Java >javaTutorial >Mengapa Objek Pembalut Integer Java Dikongsi Hanya Antara -128 dan 127?

Mengapa Objek Pembalut Integer Java Dikongsi Hanya Antara -128 dan 127?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-26 14:54:09584semak imbas

Why are Java's Integer Wrapper Objects Shared Only Between -128 and 127?

Objek Pembungkus Integer: Contoh Dikongsi Dalam Julat -128 hingga 127

Objek pembalut Java menyediakan jambatan penting antara jenis data primitif dan objek. Walau bagaimanapun, tingkah laku pelik telah diperhatikan dalam tinju nilai integer: kejadian kelihatan hanya dikongsi dalam julat -128 hingga 127.

Pertimbangkan kod berikut:

Integer integer1 = 127;
Integer integer2 = 127;
System.out.println(integer1 == integer2);  // outputs "true"

Dalam kes ini, integer1 dan integer2 diberikan contoh yang sama, seperti yang dibuktikan oleh output "true" apabila membandingkannya dengan ==. Walau bagaimanapun, tingkah laku yang berbeza dipamerkan apabila nilai melebihi julat ini:

Integer integer1 = 128;
Integer integer2 = 128;
System.out.println(integer1 == integer2);  // outputs "false"

Mengapa fenomena ini berlaku?

Menurut Spesifikasi Bahasa Java (JLS), ia dinyatakan secara khusus bahawa "nilai biasa tertentu sentiasa dimasukkan ke dalam objek yang tidak dapat dibezakan." Julat ini ditakrifkan sebagai "bait, atau aksara dalam julat u0000 hingga u007f, atau int atau nombor pendek antara -128 dan 127 (termasuk)".

Kewajaran untuk kelakuan ini, seperti yang dijelaskan dalam JLS, adalah untuk "memastikan bahawa dalam kebanyakan kes biasa, tingkah laku akan menjadi yang diingini, tanpa mengenakan penalti prestasi yang tidak wajar, terutamanya pada peranti kecil." Dengan mengehadkan gelagat contoh yang dikongsi kepada julat nilai biasa, Java mencapai keseimbangan antara prestasi dan gelagat yang dijangkakan.

Atas ialah kandungan terperinci Mengapa Objek Pembalut Integer Java Dikongsi Hanya Antara -128 dan 127?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn