有没有办法从范围创建一个非null数组?

时间:2017-09-15 18:56:48

标签: arrays kotlin kotlin-null-safety

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

PolicyEvent table

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

ImageButton[] buttons = new ImageButton[count];

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

这个问题是现在数组中的每个元素都是可选的;用val buttons = arrayOfNulls<ImageButton>(count) for (i in 0..count) { buttons[i] = view.findViewById<ImageButton>(BUTTON_IDS[i]) } 运算符填补了我的代码。

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

1 个答案:

答案 0 :(得分:7)

是的,请使用constructor of Array

val buttons = Array(count) { view.findViewById<ImageButton>(BUTTON_IDS[it])!! }