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

标签 kotlin clone

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

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

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

最佳答案

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

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

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

关于kotlin - 如何在 Kotlin 中克隆对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49053432/

相关文章:

kotlin - 当其他成员可以访问时,为什么不能访问 Kotlin 伴生对象内的对象 "statically"?

kotlin - 无法为 retrofit2.Call 调用无参数构造函数

Kotlin with-statement 作为表达式

repository - jgit - 克隆存储库的分支而无需结帐

rust - Rust 迭代器上复制和克隆的区别

java - 智能转换为 'ObserverT!!' 是不可能的,因为 'item.get()' 是一个复杂的表达式

java - 资源$NotFoundException MenuItemImpl

algorithm - 克隆检测算法

rust - PathBuf::from(&some_other_pathbuf)会克隆some_other_pathbuf的数据吗?

java - 为什么java单线程程序使用futex和clone系统调用