2
私は非常に似たようなコードをいくつか持っていますが、単純化する方法があるのだろうかと思っていました。署名(varargs vs map)以外は同じ楽しいコードを簡略化
fun parametersOf(vararg pairs: Pair<String, Any>): Parameters {
val p = Parameters(pairs.size)
for ((key, value) in pairs)
when (value) {
is String -> p.put(key, value)
is Int -> p.put(key, value)
is Double -> p.put(key, value)
is Boolean -> p.put(key, value)
else -> throw BBIllegalOperationException("Unknown type for value:'$value' of key:'$key'")
}
return p
}
fun parametersOf(map: Map<String, Any>): Parameters {
val p = Parameters(map.size)
for ((key, value) in map)
when (value) {
is String -> p.put(key, value)
is Int -> p.put(key, value)
is Double -> p.put(key, value)
is Boolean -> p.put(key, value)
else -> throw BBIllegalOperationException("Unknown type for value:'$value' of key:'$key'")
}
return p
}
'PUT'は、この特定の状況では、Javaコードを過負荷になっています。 – ycomp