附加到Kotlin数据类ArrayList

时间:2018-07-20 14:46:20

标签: java android kotlin

我有以下data class供运行Kotlin 1.2.51版的Android应用程序使用:

data class Data(var a: ArrayList<String>, var b: String)

如您所见,aArrayList。我想将另一个数组中的元素追加到a中。我已经尝试过了:

itemsToAppend.forEach {
    Data.a.add(it)
}

但是,Android Studio确定a是未解决的引用。究竟如何将一项附加到这样的ArrayList

谢谢。

3 个答案:

答案 0 :(得分:1)

创建数据实例:

var a: ArrayList<String> = arrayListOf()
var data = Data(a, "something")

并在循环中使用data

答案 1 :(得分:1)

数据类不是对象类。您必须先对其进行初始化,然后才能使用它

val d= Data(ArrayList(), "demo")
itemsToAppend.forEach {
    d.a.add(it)
}

答案 2 :(得分:0)

如果要访问您的列表,请静态:

data class D(var a: ArrayList<String>) { // a can't be used as D.a
   companion object {
      var ab: ArrayList<String> = ArrayList() // ab can be used as D.ab
   }
}