【发布时间】:2017-04-03 12:36:06
【问题描述】:
我需要能够在运行时判断 kotlin 集合的泛型类型。我该怎么做?
val list1 = listOf("my", "list")
val list2 = listOf(1, 2, 3)
val list3 = listOf<Double>()
/* ... */
when(list.genericType()) {
is String -> handleString(list)
is Int -> handleInt(list)
is Double -> handleDouble(list)
}
【问题讨论】:
-
你的目标是JVM还是js?在 JVM 上,除了 kotlin refied 类型之外,还有一些反射魔法,但在 js 后端,你可以依赖的只是 refied 类型。
标签: kotlin