gpt4 book ai didi

java - 不可变类引用可变类

转载 作者:行者123 更新时间:2023-12-01 17:15:26 25 4
gpt4 key购买 nike

假设我正在创建一个不可变的类 Employee,它具有可变的类引用地址。我们如何使用场景创建不可变类。

我只是引用这个链接click here 。我不明白这一点:

Don't share references to the mutable objects. Never store references to external, mutable objects passed to the constructor; if necessary, create copies, and store references to the copies. Similarly, create copies of your internal mutable objects when necessary to avoid returning the originals in your methods.

最佳答案

如果你想将可变对象封装成不可变对象(immutable对象),那么你需要:

  • 创建可变对象的副本(即通过复制构造函数、克隆、序列化/反序列化等);永远不要存储对原始可变对象的引用。
  • 永远不要返回可变对象。如果必须这样做,请返回该对象的副本。
  • 避免使用可以更改可变对象的方法

引用:A Strategy for Defining Immutable Objects - The Java tutorials

关于java - 不可变类引用可变类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22499200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com