2017-11-11 7 views
2

Javaでは、void function(Url... urls)のようにすることができます。 1..nのURLを使用することができます。問題は、Kotlinと同じことをすることが可能かどうかということです。省略記号演算子KotlinのJava同値

+2

https://kotlinlang.org/docs/reference/functions.html#variable-number-of-arguments-varargs – BakaWaii

答えて

3

:引数の

可変数(可変引数)

関数(通常は最後)のパラメータは でマークされてもよいです可変修飾語:

fun <T> asList(vararg ts: T): List<T> { 
    val result = ArrayList<T>() 
    for (t in ts) // ts is an Array 
     result.add(t) 
    return result 
} 

関数に渡される引数の数が可変可能:タイプTの関数内

val list = asList(1, 2, 3) 

を可変引数パラメータは、上記の例では、変数TSが入力した、すなわち、Tの配列 として表示されていますアレイ。

は、Javaとの違いに注意してください:すべての 配列要素が別々の引数になるようにKotlinに明示的に、配列を展開する必要がありながら、Javaで、あなたは、単一のパラメータとして配列を渡すことができます。

fun main(args: Array<String>) { 
    val list = listOf("args: ", *args) 
    println(list) 
} 

(それはあなたがJavaで許可されていないアレイと単一の呼び出しでいくつかの固定値からの値を組み合わせることができますどのように参照を:しかし、あなたは、単に対応する引数の前に*文字を置くことによってそれを行うことができます)。

関連する問題