相当于c ++类数组的Kotlin
我试图找到在C ++中使用类库的Kotlin等价物
class Widget { public: int x; float w; } Widget data[100];
如果你有一个class Widget
声明,你可以像这样创建一个100 Widget
的数组:
val data = Array(100) { Widget() }
Array
构造函数有两个参数。 第一个参数是数组的大小,第二个参数是创建元素的初始化函数。 在这个例子中,我只是调用了Widget
的默认构造函数。
另外,这个初始化函数接收被创建元素的索引作为参数,如果你需要创建元素的话。
编辑: @ Miha_x64在上面的评论中提出了一些很好的观点,所以我在这里也包括一些。
你也可以使用arrayOfNulls
来创建一个数组,而不用创建元素立即放入它。
val nullableWidgets = arrayOfNulls<Widget>(100)
这会给你一个Array<Widget?>
而不是Array<Widget>
,并将所有数组的元素初始化为null
。