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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP