Java 如何创建可修改对象的副本?

Java 如何创建可修改对象的副本?,java,swing,Java,Swing,我在Swing GUI中有一个对象列表。用户可以选择一个并编辑对象,然后按按钮确认更改。对象的状态是通过绑定完成的 我的问题是;用户应该能够取消编辑,恢复更改。原始数据已更改 我想我需要有一个对象的副本,但我不知道正确的方法是获得一个。克隆方法、复制构造函数、序列化,。。。它们似乎都有缺点 这必须是一个共同的要求,我想知道我应该使用哪种方法?最优雅的方式是什么?一个人可以维护可撤销操作的历史记录,因此可以列出撤销操作。执行ActionExecuted注册恢复状态的反向撤消操作 那很合适 有点

我在Swing GUI中有一个对象列表。用户可以选择一个并编辑对象,然后按按钮确认更改。对象的状态是通过绑定完成的

我的问题是;用户应该能够取消编辑,恢复更改。原始数据已更改

我想我需要有一个对象的副本,但我不知道正确的方法是获得一个。克隆方法、复制构造函数、序列化,。。。它们似乎都有缺点


这必须是一个共同的要求,我想知道我应该使用哪种方法?最优雅的方式是什么?

一个人可以维护可撤销操作的历史记录,因此可以列出撤销操作。执行ActionExecuted注册恢复状态的反向撤消操作

那很合适


  • 有点过时,带有图案的文章

我会使用克隆,这似乎是最简单的方法。看一看,你会说它比复制好吗?只需将你的obj分配给任何类中相同类的未创建obj。你能提供一些更多的实现细节吗?