如何检查 Kotlin 中的泛型类型?


本文中,我们将学习如何获取 Kotlin 中使用的类的类型。在 Kotlin 中,没有直接的方法来执行此操作。为了检查泛型类型,我们需要创建一个泛型类<T> 的实例,然后我们可以将其与我们的类进行比较。

示例

对于此示例,我们将创建一个类型<T> 的泛型类,并在该类中传递我们的变量以检查其类型。

Open Compiler
class MyGenericClass<T : Any>(val myclass: Class<T>) { companion object { inline operator fun <reified T : Any>invoke() = MyGenericClass(T::class.java) } fun check(t: Any) { when { myclass.isAssignableFrom(t.javaClass) -> println(t.javaClass) else -> println(t.javaClass) } } } fun main(vararg args: String) { // it should return String MyGenericClass<String>().check("TutorialsPoint.com") }

输出

执行后,将生成以下输出 -

class java.lang.String

更新时间:2022 年 3 月 16 日

5K+ 浏览量

开启您的 职业生涯

完成课程获得认证

开始学习
广告