克隆GregorianCalendar的最快方法?

wds*_*wds 26 java calendar clone copy

我正在尝试制作一个对象的深层副本,包括一个GregorianCalendar实例.我一直都很谨慎使用clone()它似乎没有在这里被覆盖,所以我只是按字段进行复制.理想情况下,有一个复制构造函数,我可以这样使用:

GregorianCalendar newCalendar = new GregorianCalendar(oldCalendar);
Run Code Online (Sandbox Code Playgroud)

不幸的是我在API中找不到任何这样的功能,并且试图弄清楚我需要哪些字段来获得精确的副本.那么,要复制其中一个日历,你会怎么做?我在这里错过了一些简单的快捷方式

Boz*_*zho 38

java.util.Calendar已经覆盖clone()哪个正在工作,所以使用它.此外,Calendar没有深层数据层次结构 - 其数据主要是ints.

要扩展答案,如果整个数据层次结构实现,您可以在任何进行深层复制的对象上调用SerializationUtils.clone(..)(来自commons-lang)Serializable