如何创建一个2darray在科特林的对象? [重复]

0

的问题

我真的震惊了上它是如何努力寻找一个很好的解释如何创建一个2d阵在科特林为对象。

这是我试图从我找到了什么不在这里堆和网络既没有工作,为什么? 我如何创建一个2d阵的目的不是建立进入科特林!!!

var matrix : Array<Array<myObject?>> = null

//var arr2D = Array(10) { Array(10) { myObject(this) } }

for (i in 0 until 9) {
        for (j in 0 until 9) {
            matrix[i][j] = myObject(this)
        }
    }

它说,"null不可能是一个值的一个非null type"所以我想我已经使用arrayofnulls(),但是找不到来源有人可以帮助我或者给我一个来源?

kotlin
2021-11-24 01:01:23
1

最好的答案

0

这是你怎么创建一个2D阵在科特林有一个用户提出的对象。 ArrayofNulls允许设置的所有索引中的阵列的空,然后只是初始化后用于环!

    val matrix = Array(10) {
        arrayOfNulls<myObject?>(
            10
        )
    }
2021-11-24 01:23:23

你猜怎么着,你甚至不需要一个循环如果你要的初始化阵列,只是写信 val matrix : Array<Array<MyObject>> = Array(10){ Array(10){ MyObject() } } . 在情况下的初始化的要件取决于列指数,可以写信 val matrix : Array<Array<MyObject>> = Array(10){ i -> Array(10){ j -> MyObject(i,j) } }
Ricky Mo

谢谢,我正在想,这将创造一个10×10矩阵吗?
francisRH

@francisRH嗯,是的,没有。 科特林没有多层面阵列或矩阵。 这个代码创建一系列的10阵列和每一内列有大小为10。 所以,是的,这是类似于10×10矩阵,但恰恰这不是一个2d阵列,但列阵列。
broot

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................