suyanlu
04/21/2016, 1:04 PMfun varArg2mutableMap(vararg keysAndValues: Any): MutableMap<String, String> {
val params = mutableMapOf<String, String>()
val len = keysAndValues.size
if (len % 2 != 0) {
throw IllegalArgumentException("Supplied arguments must be even")
}
var i = 0
while (i < len) {
val key = keysAndValues[i].toString()
val `val` = keysAndValues[i + 1].toString()
params.put(key, `val`)
i += 2
}
return params
}
fun requestServerApi( vararg params: Any) {
requestServerApi(varArg2mutableMap(params))
}
I invoke requestServerApi(“AccountId”, 0), And I found in function varArg2mutableMap, len of vararg is 1, in other word, vararg is passed into varArg2mutableMap() as one parameter, is it right implementation as Kotlin?