Heim > Java > javaLernprogramm > Warum werden Javas Integer-Wrapper-Objekte nur zwischen -128 und 127 gemeinsam genutzt?

Warum werden Javas Integer-Wrapper-Objekte nur zwischen -128 und 127 gemeinsam genutzt?

Mary-Kate Olsen
Freigeben: 2024-11-26 14:54:09
Original
575 Leute haben es durchsucht

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

Ganzzahlige Wrapper-Objekte: Gemeinsam genutzte Instanzen im Bereich von -128 bis 127

Java-Wrapper-Objekte bilden eine entscheidende Brücke zwischen primitiven Datentypen und Objekten. Bei der Boxung ganzzahliger Werte wurde jedoch ein eigenartiges Verhalten beobachtet: Instanzen scheinen nur im Bereich von -128 bis 127 gemeinsam genutzt zu werden.

Bedenken Sie den folgenden Code:

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

In diesem Fall werden Ganzzahl1 und Ganzzahl2 derselben Instanz zugewiesen, was durch die Ausgabe von „true“ beim Vergleich mit == belegt wird. Allerdings zeigt sich ein anderes Verhalten, wenn die Werte diesen Bereich überschreiten:

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

Warum tritt dieses Phänomen auf?

Gemäß der Java Language Specification (JLS) wird dies ausdrücklich angegeben „Bestimmte gemeinsame Werte werden immer in nicht unterscheidbare Objekte eingepackt.“ Dieser Bereich ist definiert als „ein Byte oder ein Zeichen im Bereich u0000 bis u007f oder eine Ganzzahl oder kurze Zahl zwischen -128 und 127 (einschließlich)“.

Die Begründung für dieses Verhalten, wie in erläutert Ziel des JLS ist es, „sicherzustellen, dass das Verhalten in den meisten Fällen das gewünschte ist, ohne dass es zu einer unangemessenen Leistungseinbuße kommt, insbesondere bei kleinen Geräten.“ Durch die Beschränkung des Verhaltens gemeinsam genutzter Instanzen auf einen gemeinsamen Wertebereich stellt Java ein Gleichgewicht zwischen Leistung und erwartetem Verhalten her.

Das obige ist der detaillierte Inhalt vonWarum werden Javas Integer-Wrapper-Objekte nur zwischen -128 und 127 gemeinsam genutzt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage