我无法在Android中的类中初始化我的数组(MutableList)

时间:2017-12-30 21:57:15

标签: android arrays arraylist kotlin

我刚开始使用Kotlin和Android工作室。在MainActivity.kt时,我会执行以下操作...

var tafels: MutableList<MutableList<Int>> = java.util.ArrayList()
tafels.add(mutableListOf<Int>(2, 2, 4))

......一切正常。我可以向此ArrayList添加元素,如图所示。

当我尝试在新文件中执行相同操作时,在我创建的类中,当我输入代码辅助时,代码辅助无法识别tafel,因此在我输入后没有任何建议{ {1}}:

tafels

为什么我无法在课程class TafelsSommen(){ var tafels: MutableList<MutableList<Int>> = java.util.ArrayList() tafels.add(mutableListOf<Int>(2, 2, 4)) } 内向tafels添加元素?

1 个答案:

答案 0 :(得分:2)

首先,您可以使用标准的lib函数来创建列表。以下是类型安全的,而不是因为ArrayList没有指定其类型参数。

val tafels: MutableList<MutableList<Int>> = mutableListOf(mutableListOf(2, 2, 4))

您正在尝试调用代码,这里在类主体中添加要列出的元素。这不起作用。将其包装到init块中或将其添加到属性声明中:

class TafelsSommen() {
    val tafels: MutableList<MutableList<Int>> = mutableListOf(mutableListOf())

    init {
        tafels.add(mutableListOf(2, 2, 4))
    }
}

再次,here’s如何构建一个类:

“类可以包含”:

  • 构造函数和初始化程序块
  • 功能
  • 属性
  • 嵌套和内部类
  • 对象声明

不允许像你这样的陈述。