Java包裝類的快取範圍

2021-09-20 10:30:50 字數 638 閱讀 5337

包裝類提供了物件的快取,具體的實現方式為在類中預先建立頻繁使用的包裝類物件,當需要使用某個包裝類的物件時,如果該物件封裝的值在快取的範圍內,就返回快取的物件,否則建立新的物件並返回。

在包裝類中,快取的基本資料型別值得範圍如下:

包裝型別

基本資料型別

快取物件(基本資料型別值)

boolean

boolean

true,false(全部值)

byte

byte

-128~127(全部值)

short

short

-128~127

character

char

0~127

integer

int-128~127(預設為127)

long

long

-128~127

float

float

無快取值

double

double

無快取值

在包裝類中,integer型別比較特殊,其快取值為-128~127,其中127為預設上限,也是最低上限。其實,integer的快取下限固定為-128,而快取上限是可以在執行時通過修改系統屬性來設定的。

本文**:

java 包裝類的快取機制

1 前提 發生自動裝箱的過程 基本型別 包裝型別 建立乙個包裝類物件有兩種方法 1 構造器方法 就是new出來 2 自動裝箱 就是編譯器自動呼叫包裝類的valueof方法 兩種方法的區別 構造器方法 不論值的大小,返回的將都會是乙個新物件 自動裝箱會先經過判斷,再決定返回的是乙個新物件還是常量池中已...

Java包裝模擬較和包裝類底層快取陣列

關於包裝類的比較問題,我們先看以下 integer i1 100 integer i2 100 integer i3 200 integer i4 200 system.out.println i1 i2 true system.out.println i3 i4 false double d1 1...

包裝類的快取問題

整型,char型別所對應的包裝類,在自動裝箱時,對於 128 127之間的值會進行快取處理,從而提高效率 快取的原理是 如果資料在 128到127這個區間內,則在類載入的時候就已經為該區間內的每個數值建立了物件,並且把這256個物件都放在乙個叫cahce的陣列中 原始碼如下 public stati...