为什么不变性是类中的理想特性?

Nik*_*nka 2 java immutability

我读过很多地方都写到 java 中的不变性是一个理想的特性。为什么会这样?

Pet*_*rey 5

不变性使得推断对象的生命周期变得更容易。它在多线程程序中特别有用,因为它可以更轻松地在线程之间共享。

一些数据结构假设键或元素是不可变的,或者不会以关键方式改变。例如地图和集合。它们不必是严格不可变的,但如果是,它会使事情变得容易得多。

不可变对象的缺点是它使回收它们变得更加困难,并且会显着影响性能。

总之,如果性能是一个问题,考虑可变对象,如果不尽可能使用不可变对象。

  • 我更喜欢给出建设性的批评而不是反对票。我唯一一次拒绝投票是我是否同意已经发表的评论。 (2认同)