java - 不可变类的实际例子

标签 java immutability

很明显,不可变性增加了可重用性,因为它在每次状态更改时都会创建新对象。有人能告诉我一个我们需要不可变类的实际场景吗?

最佳答案

考虑 java.lang.String。如果它不是不可变的,那么每次您想要确信一个字符串不会在您的下面发生更改时,您就必须创建一个副本。

另一个例子是集合:能够接受或返回一个真正不可变的集合(例如来自 Guava - 不仅仅是一个可变集合的不可变 View )并且确信它不会被改变是很好的。

我不知道这些是否算作“需要”,但我不想在没有它们的情况下进行开发。

关于java - 不可变类的实际例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9203419/

相关文章:

java - 类的实例是不可变的吗?

c++ - 如何在 C++ 中实现不可变字符串?

javascript - 无法访问对象的属性,但该对象存在

java - 如果我的应用程序在 Android 上最小化,如何启动并显示 Activity ?

java - 亚马逊 : SSLHandshakeException happening intermittently

java - 安卓 2.2 : How to make an app to run automaticly on startup & how to make an app start another app

java - 以 x 百分比返回 true 或 false 的方法

java - 当我的程序中的所有方法都同步时,是否有可能出现 ConcurrentModificationException?

java - 枚举,私有(private)最终字符串奇怪的行为

ios - 是否可以仅使用常量属性在两个结构之间实现双向关系?