相当于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