我正在尝试制作对象(包括GregorianCalendar实例)的深层副本。我一直很警惕使用clone()它,在这里似乎并没有覆盖它,所以我只是逐字段进行复制。理想情况下,会有一个复制构造函数,我可以这样使用:
GregorianCalendar
clone()
GregorianCalendar newCalendar = new GregorianCalendar(oldCalendar);
不幸的是,我在API中找不到任何这样的功能,并且一直试图找出我需要获得确切副本的字段。因此,要复制这些日历之一,您将如何做?我在这里缺少一些简单的捷径吗?
java.util.Calendar已覆盖clone()正在运行的内容,请使用它。此外,Calendar它没有深层的数据层次结构- 它的数据主要是ints。
java.util.Calendar
Calendar
int
为了扩展答案,如果整个数据层次结构都实现了,则可以在进行深拷贝的任何对象上调用SerializationUtils.clone(..)(从commons- lang)Serializable
SerializationUtils.clone(..)
Serializable