似乎有一种共识,即 Java 的克隆已被破坏到尽可能不使用它的程度。
我有一种情况,似乎克隆是正确的工具,但我想知道是否还有另一种方法:
我有各种对象存储在 mongo 数据库中。它们使用 Morphia 保存和加载,它会自动返回具有正确类和属性的对象。
在某些情况下,存储在数据库中的是我要为其创建副本的对象的“原型”。它来自具有正确类和默认值的 morphia,我希望能够制作一个保留类和默认值的副本。例如:
achievementPrototype = morphia.get(id);
playerAchievements.add(achievementPrototype.clone());
成就原型是一个抽象成就的具体实现的类。似乎克隆做了我想要的。我知道如果成就将对象作为属性,我将不得不实现它们的克隆,但我可以接受。
我应该使用克隆()吗?如果没有,我应该使用什么?