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
Lepaskan: 2024-11-26 14:54:09
asal
554 orang telah melayarinya

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"
Salin selepas log masuk

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"
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan