2d可变列表填充- kotlin



我正试图用字符串填充下面的列表,但我不知道如何设置变量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,并且toMutableListString转换为其字符的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") }

相关内容

  • 没有找到相关文章

最新更新