【Java】cloneメソッドを使ってインスタンスをコピーする!

cloneメソッドを使用することで、インスタンスをコピーすることができます。

プログラムを書いていると、同じオブジェクトが必要で、「オブジェクトをコピーできれば便利だな」と思う時があります。
その時にcloneメソッドを使うと簡単にオブジェクトをコピーできます。

今回はcloneメソッドを使って、インスタンスのコピーを行います。

cloneメソッドとは

cloneメソッドは自分自身を複製するという役割を持ち、オブジェクトのコピーを作成することができます。

cloneメソッドの書き方

cloneメソッドの構文は下記となります。

cloneの前にインスタンスなどのObjectを指定することで指定したObjectのコピーを行うことができます。

インスタンスをコピーするサンプルコード

インスタンスをコピーするサンプルコードを紹介します。
また、コピーした後にコピー先の値を変更してみます。

インスタンスをコピーする

cloneメソッドを使ってインスタンスのコピーを行います。

出力結果

コピー元: 2020年7月29日
コピー先:2020年7月29日

cloneメソッドを使ってインスタンスをコピーすることができました。

コピー先の値を変更する

インスタンスのコピーを行った後、コピー先の値を変更してみます。

出力結果

コピー元: 2020年7月29日
コピー先:2020年7月29日

コピー先の方の値を変更する
コピー元: 2020年7月29日
コピー先: 2026年9月3日

コピー先の値を変更することができました。
また、Calendarクラスは日付を扱うクラスになります。

今回のポイント

cloneメソッドでインスタンスをコピー

インスタンスをコピーするにはcloneメソッドを使用する

• インスタンスのコピーを作成するにはcloneメソッド絵を使用する

• cloneメソッドを呼び出すにはコピー元のクラスが「Cloneable」インタフェースを実装する

• コピー先のインスタンスの値を変えた場合、コピー元のインスタンスは値が変わらないため、別のインスタンスとして存在する

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し