不可变类的实际例子

Esh*_*aka 3 java immutability

显而易见的是,不变性增加了可重用性,因为它在每个状态变化中创建了新对象.有人告诉我一个我们需要一个不可变类的实际场景吗?

Jon*_*eet 5

考虑java.lang.String.如果它不是一成不变的,那么每当你有一个你想要自信的字符串就不会在你的下面发生变化时,你必须创建一个副本.

另一个例子是集合:很高兴能够接受或返回一个真正不可变的集合(例如来自Guava - 不仅仅是一个可变集合的不可变视图)并且相信它不会被改变.

我不知道这些是否是"需要",但我不想在没有它们的情况下发展.