gpt4 book ai didi

java - 深度克隆实用程序推荐

转载 作者:IT老高 更新时间:2023-10-28 13:51:23 26 4
gpt4 key购买 nike

是否有任何用于深度克隆 java 集合的实用程序:

  • 数组
  • 列表
  • map

注意:更喜欢一些不使用序列化的解决方案,但使用 Object.clone() 方法。我可以确定我的自定义对象将实现 clone() 方法,并且将仅使用可克隆的 java 标准类...

最佳答案

我认为之前的绿色答案不好,你为什么会问?

  • 它增加了很多代码
  • 它要求您列出要复制的所有字段并执行此操作
  • 当使用 clone() 时,这不适用于列表(这就是 HashMap 的 clone() 所说的:返回这个 HashMap 实例的浅拷贝:键和值本身没有被克隆。)所以你最终手动完成(这让我哭了)

哦,顺便说一句,序列化也很糟糕,你可能不得不到处添加 Serializable(这也让我哭了)。

那么解决办法是什么:

Java 深度克隆库克隆库 是一个小型的开源(apache 许可证)java 库,它可以深度克隆对象。对象不必实现 Cloneable 接口(interface)。实际上,这个库可以克隆任何 java 对象。如果您不希望修改缓存的对象或想要创建对象的深拷贝,则可以在缓存实现中使用它。

Cloner cloner=new Cloner();
XX clone = cloner.deepClone(someObjectOfTypeXX);

查看 https://github.com/kostaskougios/cloning

关于java - 深度克隆实用程序推荐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/665860/

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