基本資料的自動拆裝箱及享元設計模式

2021-08-31 12:23:21 字數 691 閱讀 4177

、基本資料的自動拆裝箱及享元設計模式

自動拆裝箱:

自動拆箱:把引用型別轉變為值型別

自動裝箱:把值型別轉變為引用型別

享元模式:

很多小的物件,他們有很多相同的屬性,那麼我們把它們作為乙個物件,他們相同的屬性我們叫內部狀態;若他們很多物件的屬性不同,那我們把它們的屬性作為方法的引數,我們叫這些屬性為外部狀態

例:public class autobox }

執行結果:15

s1和s2是否指向同一物件:true

i1和i2是否指向同一物件:true

i1a和i2a是否指向同一物件:false

i3和i4是否指向同一物件:true

i3a和i4a是否指向同一物件:false

這裡可以看得到i1

和i2比較,位址值相同,但i1a

和i2a

比較,位址值都不同!在這裡用到了享元設計模式,當i1

值與i2

基本數值要裝箱成integer

型別時,如果這個值在乙個位元組之內(-128~127

),系統就會將這個數值存起來,放在乙個緩衝池裡,當要建立下乙個數物件時,會到緩衝池中搜尋這個值,如果有這個值,值引用指向這個物件,這樣就能節省物件空間,降低系統消耗。

當超過了乙個位元組所能表示的範圍,就會成為false,

因為可能乙個位元組裡值了出現的頻率比較高!

黑馬程式設計師 自動拆裝箱及享元模式的介紹

asp.net android ios開發 net培訓 期待與您交流!基本資料的自動拆裝箱 integer iobj 3 自動裝箱 system.out.println iobj 12 自動拆箱 integer i1 127 integer i2 127 integer i3 128 integer...

自動裝箱和拆箱引出的享元模式

1.自動裝箱和拆箱 從j2se 5.0開始,提供了基本資料型別的自動裝箱和拆箱功能。基本資料型別對應的封裝類見下 byte byte long long short short int integer char character float float double double boolean ...

基本資料型別物件包裝類和自動裝箱自動拆箱技術

一 基本資料型別物件包裝類 二 基本資料型別物件包裝類的最常見作用 就是用於基本資料型別和字串型別之間做轉換 三 基本資料型別轉成字串 四 字串轉成基本資料型別 基本資料型別包裝類 a par xx string str 如 int a integer.parseint 123 boolean b ...