1. ホーム
  2. kotlin

[解決済み] Kotlinでオブジェクトをクローンする方法は?

2023-06-22 23:29:41

質問

その Kotlinのドキュメント には、Javaにアクセスする場合とenumクラスでのみクローンを作成することが記述されています。後者の場合、cloneは例外を投げるだけである。

では、Kotlinの任意のオブジェクトをどのようにクローンすればいいのでしょうか?

単に clone() を使えばいいのでしょうか?

どのように解決するのですか?

に対して data class の場合、コンパイラが生成した copy() メソッド . 浅いコピーを実行することに注意してください。

コレクションのコピーを作成するために toList() または toSet() メソッドを使用します。これらのメソッドは常にコレクションの新しいコピーを作成します; また、浅いコピーも実行します。

他のクラスについては、Kotlin固有のクローンソリューションはありません。使用できるのは .clone() を使うことができますし、そうでなければ別のソリューションを構築することができます。