Kotlin Arrayを可変引数Java に変換するにはどうすればよいString[]ですか?
val angularRoutings =
arrayOf<String>("/language", "/home")
// this doesn't work
web.ignoring().antMatchers(angularRoutings)
Kotlin Arrayを可変引数Java に変換するにはどうすればよいString[]ですか?
val angularRoutings =
arrayOf<String>("/language", "/home")
// this doesn't work
web.ignoring().antMatchers(angularRoutings)
回答:
次のようなスプレッド演算子を使用する必要があります。スプレッド演算子*
は配列引数の前に配置する必要があります。
antMatchers(*angularRoutings)
詳細については、ドキュメントを参照してください。
-
vararg関数を呼び出すときは、引数を1つずつ渡すことができます。たとえばasList(1, 2, 3)、すでに配列があり、その内容を関数に渡したい場合は、スプレッド演算子を使用します(配列の前にを付けます*)。
スプレッド演算子は配列に対してのみ定義されており、リストで直接使用できないことに注意してください。リストを扱うときは、たとえばtoTypedArray()配列を配列に変換するために使用します。
*list.toTypedArray()
varargは個々の要素を期待し、*array「この目的のためにこの配列を個々の要素として扱う」と言うKotlinの方法です。vararg-function 内では、varargパラメーターはとにかく配列になります。個々の要素を配列に変換するにはを使用できますarrayOf(...)が、この場合は必要ありません。
varargか?