在 Java 中创建日历对象的临时副本

2022-01-11 00:00:00 calendar java

我需要弄清楚如何创建一个临时 Calendar 对象(已经存在的永久"日历的副本),以便我可以操作该副本:tempCal.add(单位,值).我需要保持原来的日历对象不变,所以我真的不想直接在它上面调用add(unit, value).

I need to figure out how to create a temporary Calendar object (a copy of a "permanent" calendar that already exists) so that I can manipulate the copy: tempCal.add(unit, value). I need to keep the original calendar object unchanged, so I really don't want to call add(unit, value) on it directly.

由于我创建副本的任何尝试都没有真正奏效,我目前的丑陋技巧是调用 permanentCal.add(unit, value),显示所需的结果,然后调用 permanentCal.add (unit, -value)——这看起来很不酷.

Since none of my attempts at creating a copy actually worked, my current ugly hack is to call permanentCal.add(unit, value), display the desired results, then call permanentCal.add (unit, -value) — which just seems, uncool.

推荐答案

java.util.Calendar 有一个 clone 方法,你可以使用它.里面的所有数据都是由原语组成的,所以你不会遇到麻烦.

java.util.Calendar has a clone method, you could use that. All data in it is made of primitives, so you will not run into troubles.

看看这些答案:

  • 日历的防御性副本
  • 克隆公历日历的最快方法?

相关文章