3 回答

函數(shù)式編程
TA貢獻1807條經(jīng)驗 獲得超9個贊
“這有很多很好的理由:與可變類相比,不可變類更易于設計、實現(xiàn)和使用,它們不太容易出錯,而且更安全。 [...]
"不可變的對象很簡單。
不可變對象完全可以處于一種狀態(tài),即創(chuàng)建對象的狀態(tài)。如果您確保所有構(gòu)造函數(shù)都建立了類不變量,那么就可以保證這些不變量在任何時候都是正確的,而不需要付出任何努力。 [...]
不可變對象本質(zhì)上是線程安全的;它們不需要同步。
它們不能被并發(fā)訪問它們的多個線程破壞。這是實現(xiàn)線程安全的最簡單的方法。事實上,沒有一個線程能夠觀察到另一個線程對不可變對象的任何影響。因此, 不可變對象可以自由地共享。[...]
不僅可以共享不可變的對象,還可以共享它們的內(nèi)部。 [...]
不可變對象為其他對象(無論是可變的還是不可變的)提供了很好的構(gòu)建塊。 [...]
不可變類的唯一真正缺點是它們需要為每個不同的值設置一個單獨的對象。
添加回答
舉報
0/150
提交
取消