日付に月を足したい...
しかし、元の日付を変更せずに、結果を新しい変数に代入したいと考えています。Calendar.add() を使用しているように見える標準的な方法でこれを行いたいのですが、その方法は計算に使用される Calendar オブジェクトを変更します。
だから私はここで「適切な」ことは何だろうと思っています - Object.clone() を使用してカレンダーにキャストする必要がありますか? 本能的に、これは少し恐ろしく間違っているように思えます。または、次のような構文を使用して、元のオブジェクトから新しい Calendar オブジェクトを作成する必要があります。
Calendar newCalendar = Calendar.getInstance();
newCalendar.setTime(originalCalendar.getTime());
かなりひどいようにも思えます...確かにもっと簡単な方法があるに違いありません-何かが足りないと誰か教えてください!
(...しかし、Joda Time や Java 8 を使用するように言わないでください。プロジェクトの制約により使用できません。)