整數包裝物件共用-128 到127 範圍內的實例
出現在特定值範圍內共用實例的整數包裝物件的行為來自Java 語言規範(JLS)。根據JLS 5.1.7,某些原始值的裝箱轉換會產生相同的參考:
對於true、false、byte、char(範圍u0000 到u007f)以及-128 到127 之間的int 或短數字,從這些值建立的包裝物件將始終是相同的。
此規範允許務實的效率,同時確保典型的期望行為場景。將某些常見值快取為物件有助於減少裝箱轉換期間的記憶體開銷。但是,實作可以決定是快取所有指定值還是僅快取指定值的子集,對於 char 和 Short 值以及 int 和 long 值,範圍從 -32K 到 32K。
因此,整數包裝物件共享相同的實例只在-128到127的值範圍內,因為它是由Java語言規格決定的,旨在平衡記憶體效率和值轉換的可預測性。
以上是為什麼 Java 中的整數包裝物件僅在 -128 到 127 之間共用實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!