Java 返回副本以隐藏 future 的更改

标签 java deep-copy cloning

在 Java 中,假设您有一个包装 ArrayList(或任何集合)对象的类。

您将如何返回这些对象之一,以便调用者看不到 ArrayList 中对该对象所做的任何 future 更改?

即您想返回对象的深拷贝,但不知道它是否可克隆。

最佳答案

将其转化为规范:
-对象需要实现一个接口(interface)才能被允许进入集合 类似于 ArrayList<ICloneable>()

那么你就可以放心,你总是做深拷贝——接口(interface)应该有一个保证返回深拷贝的方法。

我认为这是您能做的最好的事情。

关于Java 返回副本以隐藏 future 的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29820/

相关文章:

javascript - Ruby => Javascript 翻译

flutter - 在嵌套 map 内的列表中添加和删除值会影响所有嵌套 map

python-3.x - 为什么浅拷贝表现为简单列表的深拷贝

java - 在 LinkedList 上实现克隆

java - 如何在jsp中将字节数据显示到img标签中?

java - Java 中分离的前端和后端 - Spring MVC 框架

java - 如何在 IOS 和 android 中使用跨平台加密方法(仅限 AES 加密..)?

java - 为什么 Java 中的类默认情况下不可克隆

c# - 将对象克隆到另一个对象但排除某些属性?

java - 安卓问题