我无法在Android中的类中初始化我的数组(MutableList)
我刚刚开始与Kotlin和Android工作室。 当在MainActivity.kt
我做以下…
var tafels: MutableList<MutableList> = java.util.ArrayList() tafels.add(mutableListOf(2, 2, 4))
一切工作正常。 我可以添加元素到这个ArrayList
,如图所示。
当我尝试在一个新文件中做同样的事情时,在我创建的类中,但是,当我输入时,代码帮助无法识别tafels
,因此在键入tafels
之后没有任何建议:
class TafelsSommen(){ var tafels: MutableList<MutableList> = java.util.ArrayList() tafels.add(mutableListOf(2, 2, 4)) }
为什么我不能将元素添加到tafels
类中的TafelsSommen
?
首先,你可以使用标准的库函数来创建你的列表。 以下是types安全的,而你的不是因为ArrayList
没有指定它的types参数。
val tafels: MutableList> = mutableListOf(mutableListOf(2, 2, 4))
你正试图调用代码,在这里添加一个元素来列出,在类的主体。 这不起作用。 将它包装到一个init
块中,或者将它添加到属性声明中:
class TafelsSommen() { val tafels: MutableList> = mutableListOf(mutableListOf()) init { tafels.add(mutableListOf(2, 2, 4)) } }
再次, 这里是如何构建一个类:
“类可以包含”:
- 构造函数和初始化块
- function
- 属性
- 嵌套和内部类
- 对象声明
没有像你的声明允许。