Edited at

【Kotlin】Javaの可変長引数にKotlinのArrayを渡す【Java】


やること

以下のような関数にKotlinのArrayを渡します。

void hoge(HogeClass... hogeClasses) {

/* 省略 */
}


やり方

以下のように、Arrayの前に*を入れることでできます。

val hogeList: Array<HogeClass> = // 初期化は省略

// 呼び出し
hoge(*hogeList)


やっていること

先頭に補っている*はSpread演算子で、Arrayの展開を行なって渡しています。

Kotlinではfuga(vararg hoge: HogeClass)というように宣言することで可変長引数を利用できますが、ここにArrayを渡すときも同様にする必要があります。


参考にさせて頂いたサイト