我正试图用字符串填充下面的列表,但我不知道如何设置变量strings
以匹配所需的类型。总是出现类型不匹配的情况。(类型不匹配:推断类型是mutableelist,但预期是字符串)
fun main() {
val inputList: MutableList<MutableList<String>> = mutableListOf()
val n = readLine()!!.toInt()
var strings: String
for (i in 0 until n) {
strings = "D".toString().toMutableList()
inputList.add(strings)
}
}
inputList
是列表的列表。所以你只能往里面添加列表。您将strings
定义为String
类型,但实际上您希望它是MutableList<String>
。此外,toString()
是无用的,因为"D"已经是String
,并且toMutableList
将String
转换为其字符的MutableList<Char>
。所以你要做的是:
val inputList: MutableList<MutableList<String>> = mutableListOf()
val n = readLine()!!.toInt()
var strings: MutableList<String>
for (i in 0 until n) {
strings = mutableListOf("D")
inputList.add(strings)
}
虽然我认为没有必要首先将其存储在strings
中,所以您可以直接执行
val inputList: MutableList<MutableList<String>> = mutableListOf()
val n = readLine()!!.toInt()
for (i in 0 until n) {
inputList.add(mutableListOf("D"))
}
或者你也可以用
得到更短的结果val n = readLine()!!.toInt()
val inputList = MutableList(n) { mutableListOf("D") }