cari
RumahJavajavaTutorialMengapa Objek Pembungkus Integer Java Berkongsi Contoh Hanya Antara -128 dan 127?

Why Do Java's Integer Wrapper Objects Share Instances Only Between -128 and 127?

Objek Pembungkus Integer dan Kejadian Dikongsi: Melebihi Nilai 127

Bahasa pengaturcaraan Java menyediakan kelas pembalut untuk mewakili jenis data primitif sebagai objek . Integer ialah satu kelas pembungkus yang membungkus jenis primitif int. Aspek menarik bagi objek pembalut Integer ialah gelagat mereka berkenaan kejadian yang dikongsi.

Dalam Alam 127

Seperti yang diperhatikan dengan betul oleh soalan, objek pembalut Integer sememangnya berkongsi perkara yang sama contoh dalam julat nilai [-128, 127]. Tingkah laku ini ditakrifkan secara eksplisit oleh Spesifikasi Bahasa Java (JLS) dalam bahagian 5.1.7:

If the value p being boxed is ... an int or short number between -128 and 127 (inclusive), then ... any two boxing conversions of p ... will always yield an identical reference.

Ini bermakna dalam julat nilai ini, semua objek pembalut Integer yang mewakili nilai int primitif yang sama akan menunjuk ke contoh yang sama dalam ingatan.

Selain itu 128

Walau bagaimanapun, tingkah laku perkongsian ini tidak berterusan melebihi nilai 128. Apabila nilai int di luar julat yang ditentukan [-128, 127] dimasukkan ke dalam objek Integer, pelaksanaannya bebas untuk dibuat contoh baharu untuk setiap nilai unik. Ini disahkan oleh JLS dalam bahagian yang sama:

This formulation disallows any assumptions about the identity of the boxed values on the programmer's part. This would allow (but not require) sharing of some or all of these references.

Ringkasnya, objek pembalut Integer berkongsi contoh yang sama hanya dalam julat nilai [-128, 127] kerana ia dinyatakan secara eksplisit oleh Bahasa Java Spesifikasi. Pengoptimuman ini memberikan faedah prestasi untuk senario biasa yang melibatkan nilai primitif dalam julat ini, tanpa menjejaskan fleksibiliti menggunakan tika berbeza untuk nilai unik di luar julat ini.

Atas ialah kandungan terperinci Mengapa Objek Pembungkus Integer Java Berkongsi Contoh 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual