irus
08/06/2017, 8:09 AMfun main(args: Array<String>) {
val s = ""
val i = 0
val b = false
println(s::class == String::class)
println(i::class == Int::class)
println(b::class == Boolean::class)
fun test(a: Any) = when (a::class) {
String::class -> println("String")
Int::class -> println("Int")
Boolean::class -> println("Boolean")
else -> println("Else")
}
test(s)
test(i)
test(b)
}
What you expecting here? answer in thread
true
true
true
String
Else
Else
fun test(a: Any) = when (a::class) {
String::class -> println("String")
Int::class, Int::class.javaPrimitiveType -> println("Int")
Boolean::class, Boolean::class.javaPrimitiveType -> println("Boolean")
else -> println("Else")
}
OMG! Platform depended codekarelpeeters
08/06/2017, 8:11 AMDmitry Kandalov
08/06/2017, 1:14 PMilya.gorbunov
08/06/2017, 1:28 PM