Ganzzahlige Wrapper-Objekte teilen Instanzen im Bereich von -128 bis 127
Das Verhalten von ganzzahligen Wrapper-Objekten, die Instanzen innerhalb eines bestimmten Wertebereichs teilen, tritt auf aus der Java Language Specification (JLS). Gemäß JLS 5.1.7 ergeben Boxing-Konvertierungen für bestimmte Grundwerte identische Referenzen:
Für true, false, byte, char (Bereich u0000 bis u007f) und int oder kurze Zahlen zwischen -128 und 127, die Aus diesen Werten erstellte Wrapper-Objekte sind immer dieselben.
Diese Spezifikation ermöglicht pragmatische Effizienz und stellt gleichzeitig das gewünschte Verhalten sicher Szenarien. Das Zwischenspeichern bestimmter allgemeiner Werte als Objekte trägt dazu bei, den Speicheraufwand bei Boxkonvertierungen zu reduzieren. Die Implementierung kann jedoch entscheiden, ob alle oder nur eine Teilmenge der angegebenen Werte zwischengespeichert werden sollen, die von -32 KB bis 32 KB für char- und short-Werte sowie int- und long-Werte reichen.
Daher teilen sich Integer-Wrapper-Objekte die dieselben Instanzen nur innerhalb des Wertebereichs von -128 bis 127, da dies durch die Spezifikationen der Java-Sprache vorgegeben ist und darauf abzielt, Speichereffizienz und Vorhersagbarkeit des Werts in Einklang zu bringen Konvertierungen.
Das obige ist der detaillierte Inhalt vonWarum teilen Integer-Wrapper-Objekte in Java nur Instanzen zwischen -128 und 127?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!