Java 中的原始包裝類是不可變的
在 Java 中,不可變類是指一旦建立,其內容就不能更改的類。同樣的概念,不可變物件是指一旦構造,其狀態就不能更改的物件。
包裝類被設計為不可變的,因為有以下優點:
由於不可變物件的狀態一旦建立就不能更改,因此它們會自動同步。不可變物件是自動執行緒安全的,避免了由於使用同步而產生的開銷。
一旦建立,包裝類不可變物件的狀態就不能更改,因此它們不可能進入不一致的狀態。
對不可變物件的引用可以輕鬆地共享或快取,而無需複製或克隆它們,因為它們的狀態在構造後永遠不會更改。
包裝類作為不可變物件最好的用途是作為對映的鍵。
同樣,由於包裝類例項的不可變性,快取的目的是促進共享。因此,如果您的應用程式中有十幾個地方需要具有值為 42 的 Integer 例項,則可以使用一個例項。
示例展示包裝類作為不可變物件。
class Demo { public static void main(String[] args) { Integer i = new Integer(20); //initialize a object of Integer class with value as 20. System.out.println(i); operate(i);// method to change value of object. System.out.println(i); //value doesn't change shows that object is immutable. } private static void operate(Integer i) { i = i + 1; } }
輸出
20 20
廣告