您已经回答了“这些物品能给我们带来什么好处”。
关于问题的“动态”部分,如果您需要“更改”一个不变的对象,则可以从旧对象中创建一个新对象:
Immutable oldObj = new Immutable(...);Immutable newObj = new Immutable(oldObj.property1, "a new value for property 2");
如果发现自己不断重复执行此操作,则可能需要使该对象可变,并添加能够在并发环境中使用该对象所需的相关胎面安全功能。

您已经回答了“这些物品能给我们带来什么好处”。
关于问题的“动态”部分,如果您需要“更改”一个不变的对象,则可以从旧对象中创建一个新对象:
Immutable oldObj = new Immutable(...);Immutable newObj = new Immutable(oldObj.property1, "a new value for property 2");
如果发现自己不断重复执行此操作,则可能需要使该对象可变,并添加能够在并发环境中使用该对象所需的相关胎面安全功能。