如何获取类中类型参数的擦除类型

Sourav Kannantha B

我知道,在运行时类型参数将被删除,因此我们无法直接访问它。这就是为什么Kotlin中有可归类的类型参数。但是它的用法仅限于功能。我什至尝试在构造函数中接收如下显式参数:

class Outer<T> {
    inner class Inner(private val clazz: Class<T>) {
        private fun func() {
            if (obj is clazz) {    // even tried obj is clazz::class.java
                ...
            } else {
                ...
            }
        }
    }
}

但这给我Unresolved reference: clazz在android studio中的错误。有人请帮助我。

Tenfour04

clazz不是类名,因此您不能使用is它。这是类型为的属性Class<T>因此,您必须使用==它进行比较。

if (obj::class.java == clazz) { // ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何避免类型参数擦除

如何从实现类中获取通用接口的类型参数?

如何在Kotlin中获取泛型类型参数的类

如何使用参数类型获取类

从Kotlin中的嵌套类型参数获取类

如何解决Scala上的类型擦除?或者,为什么我无法获取集合的类型参数?

Scala的类型擦除如何用于更高种类的类型参数?

如何获取类型参数?

如何从Typescript中的函数获取参数类型

如何从擦除类型转换类型

如何从模板类的范围中获取类型?

如何防止Kotlin中的类型擦除?

如何获取可变参数类型包中类型的索引?

Java中的类型擦除

如何从参数化类型的方法参数获取参数化类型的类?

如何摆脱“类型模式(类型,类型)中的非变量类型参数类型未被检查,因为它通过擦除将其消除了”?

如何在对象类型中使用对象类型对类进行参数化以在Scala中获取其实例?

如何在反射类方法(PHP 5.x)中获取参数类型?

如何为lambda表达式获取特定类,例如方法参数中类型的子类

没有参数时如何获取泛型类型的类?

如何使用宏获取类方法的参数类型?

获取参数化的类参数的类型?

获取参数化类的类型参数

如何使用shared_ptr在类型擦除类中显示基础数据

类A的方法中类型A的参数的类型提示

案例类的Scala类型擦除如何解决

如何获取引用类型的基类类型

在周围的建议中,如何获取建议方法的参数的“类型参数”

如何获取函数参数类型?