6

在 Java 中,可以使用传统的 for 循环创建一个简单的数组:

ImageButton[] buttons = new ImageButton[count];

for (int i = 0; i < count; i++) {
   buttons[i] = view.findViewById(BUTTON_IDS[i]);
}

对 Kotlin 的简单转换会产生以下结果:

val buttons = arrayOfNulls<ImageButton>(count)

for (i in 0..count) {
    buttons[i] = view.findViewById<ImageButton>(BUTTON_IDS[i])
}

问题是现在数组中的每个元素都是可选的;这使我的代码充满了?运算符。

有没有办法以类似的方式创建一个数组,但没有可选类型?

4

1 回答 1

9

是的,使用以下构造函数Array

val buttons = Array(count) { view.findViewById<ImageButton>(BUTTON_IDS[it])!! }
于 2017-09-15T18:58:41.013 回答