有没有办法从一个范围创建一个非null数组?
在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(count) for (i in 0..count) { buttons[i] = view.findViewById(BUTTON_IDS[i]) }
这个问题是,现在数组中的每个元素是可选的; 这与我的代码谜语?
运营商。
有没有办法以类似的方式创建一个数组,但没有可选的types?
是的,使用Array
的构造函数 :
val buttons = Array(count) { view.findViewById(BUTTON_IDS[it])!! }