Kotlin:如何创建一个字符串类型的二维数组

问题描述:

我正在学习kotlin。我需要创建一个可以容纳单词,特殊字符和数字的二维数组。某些地方我发现这段代码 THIS 问题在于它只能容纳Int。 当我试图用“字符串”替换关键字“IntArray”。它返回一个错误 ERROR 有人可以帮我创建一个10×8 Arrray可容纳字符串科特林Kotlin:如何创建一个字符串类型的二维数组

有在科特林(here's an explanation why)没有StringArray,使用Array<String>代替。

如果你创建阵列可以提供数组项,然后创建阵列可以做到:

val result = Array(10) { i -> 
    Array(8) { j -> 
     "the String at position $i, $j" // provide some initial value based on i and j 
    } 
} 

println(result[0][3]) // Prints: the String at position 0, 3 

否则,您可以使用一些默认String值:

val result = Array(10) { Array(8) { "" } } 

或者创建填充了null值的内部数组(注意:您将不得不使用deal with nullability,您将无法将项目作为非空值使用):

val result = Array(10) { arrayOfNulls<String>(8) } // The type is `Array<Array<String?>> 
result[0][0] = "abc" 
println(result[0][0]!!.reversed()) // Without `!!`, the value is treated as not-safe-to-use