【发布时间】:2011-08-25 08:53:08
【问题描述】:
我必须克隆一个没有实现 Cloneable 接口的对象怎么做。
实际上,在我的项目中,我正在使用 JCChart。现在我的课程扩展了 MultiChart,我必须创建课程的深层副本。我能够克隆我的类对象,但如何克隆 MultiChart 的对象。就像我还必须克隆对象的图例、对象的页脚、对象的页眉。
【问题讨论】:
-
看看你是否可以使用XStream来做你想做的事情。
-
但我是在applet中执行此操作的,因此由于applet访问文件系统的限制,无法序列化对象
-
让你的对象实现 Cloneable 接口并自己实现深拷贝。
-
要进行深层复制,我必须创建我正在使用的图表图例的克隆 chartClone.setLegend(chart.getLegend().clone()) 但由于 JCLegend 没有实现 Cloneable 接口,这就是为什么我我变得无法克隆传说。我该怎么做
-
您应该能够序列化为内存中的流,例如 ByteArrayOutputStream。