相关疑难解决方法(0)

如何在kotlin中克隆或复制列表

如何在Kotlin中复制列表?

我正在使用

val selectedSeries = mutableListOf<String>()
selectedSeries.addAll(series)
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?

copy list kotlin

72
推荐指数
9
解决办法
3万
查看次数

Kotlin数据类复制方法不能深度复制所有成员

有人可以解释copyKotlin数据类的方法究竟是如何工作的吗?对于某些成员来说,实际上并没有创建(深层)副本,并且引用仍然是原始的.

fun test() {
    val bar = Bar(0)
    val foo = Foo(5, bar, mutableListOf(1, 2, 3))
    println("foo    : $foo")

    val barCopy = bar.copy()
    val fooCopy = foo.copy()
    foo.a = 10
    bar.x = 2
    foo.list.add(4)

    println("foo    : $foo")
    println("fooCopy: $fooCopy")
    println("barCopy: $barCopy")
}

data class Foo(var a: Int,
               val bar: Bar,
               val list: MutableList<Int> = mutableListOf())

data class Bar(var x: Int = 0)
Run Code Online (Sandbox Code Playgroud)

输出:
foo:Foo(a = 5,bar = Bar(x = 0),list = [1,2,3])
foo:Foo(a = 10,bar = Bar(x = …

copy deep-copy kotlin data-class

16
推荐指数
4
解决办法
2万
查看次数

标签 统计

copy ×2

kotlin ×2

data-class ×1

deep-copy ×1

list ×1