Is it the easiest way to declare two-dimensional Int
array with specified size in Kotlin?
val board = Array(n, { IntArray(n) })
Is it the easiest way to declare two-dimensional Int
array with specified size in Kotlin?
val board = Array(n, { IntArray(n) })
下面是用于创建2D数组的新顶级函数的源代码.当柯特林遗漏了什么,就延长它.然后为您想要建议的内容添加YouTrack issues,并跟踪状态.虽然在这种情况下,它们并不比上面短很多,但至少为正在发生的事情提供了一个更明显的名称.
public inline fun <reified INNER> array2d(sizeOuter: Int, sizeInner: Int, noinline innerInit: (Int)->INNER): Array<Array<INNER>>
= Array(sizeOuter) { Array<INNER>(sizeInner, innerInit) }
public fun array2dOfInt(sizeOuter: Int, sizeInner: Int): Array<IntArray>
= Array(sizeOuter) { IntArray(sizeInner) }
public fun array2dOfLong(sizeOuter: Int, sizeInner: Int): Array<LongArray>
= Array(sizeOuter) { LongArray(sizeInner) }
public fun array2dOfByte(sizeOuter: Int, sizeInner: Int): Array<ByteArray>
= Array(sizeOuter) { ByteArray(sizeInner) }
public fun array2dOfChar(sizeOuter: Int, sizeInner: Int): Array<CharArray>
= Array(sizeOuter) { CharArray(sizeInner) }
public fun array2dOfBoolean(sizeOuter: Int, sizeInner: Int): Array<BooleanArray>
= Array(sizeOuter) { BooleanArray(sizeInner) }
And usage:
public fun foo() {
val someArray = array2d<String?>(100, 10) { null }
val intArray = array2dOfInt(100, 200)
}