GregorianCalendar
インスタンスを含むオブジェクトのディープコピーを作成しようとしています。私は常に使用に警戒clone()
しており、ここではオーバーライドされていないようなので、フィールドごとにコピーするだけです。理想的には、コピーコンストラクターがあり、それを次のように使用できます。
GregorianCalendar newCalendar = new GregorianCalendar(oldCalendar);
残念ながら、APIでそのような機能を見つけることができず、正確なコピーを取得するために必要なフィールドを特定しようとして立ち往生しています。では、これらのカレンダーのいずれかのコピーを作成するには、どのようにしますか?ここにいくつかの簡単なショートカットがありませんか?
java.util.Calendar
機能しているものがオーバーライドさclone()
れているので、それを使用してください。さらに、Calendar
深いデータ階層はありません-そのデータは主にint
sです。
答えを拡張するには、データ階層全体が実装されている場合、深いコピーを作成する任意のオブジェクトでSerializationUtils.clone(..)
(commons-langから)呼び出すことができますSerializable
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加