kotlin - 如何在 Kotlin 中克隆对象?

Kotlin documentation仅在访问 Java 和枚举类中描述克隆。在后一种情况下,克隆只是抛出一个异常。

那么,我/应该如何克隆任意 Kotlin 对象?

我应该像在 Java 中一样使用 clone() 吗?

最佳答案

对于数据类,可以使用编译器生成的copy() method .请注意,它将执行浅拷贝。

要创建集合的副本,请使用 toList()toSet() 方法,具体取决于您需要的集合类型。这些方法总是创建一个集合的新副本;他们还执行浅拷贝。

对于其他类,没有特定于 Kotlin 的克隆解决方案。如果它符合您的要求,您可以使用 .clone(),如果不符合您的要求,则可以构建不同的解决方案。

https://stackoverflow.com/questions/49053432/

相关文章:

kotlin - 如何使用 Gradle Kotlin 脚本创建胖 JAR?

kotlin - 带有 T.() 的 Kotlin 函数签名是什么意思?

android - 带有命名参数的 Kotlin 中的 Dagger 2 构造函数注入(inject

java - 在 Kotlin 中使用 Room 的 @ForeignKey 作为 @Entity

intellij-idea - 为什么 IntelliJ 建议将调用链转换为序列?

android - 抑制 "Identifier not allowed in Android"

java - Smartcast 是不可能的,因为属性有开放的或自定义的 getter

string - 字符串中的美元符号字符

java - Kotlin 文件是否应该放在 Android 中的单独源目录中?

java - isInitialized - lateinit var 的支持字段此时不可访问