我知道,在运行时类型参数将被删除,因此我们无法直接访问它。这就是为什么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中的错误。有人请帮助我。
clazz
不是类名,因此您不能使用is
它。这是类型为的属性Class<T>
。因此,您必须使用==
它进行比较。
if (obj::class.java == clazz) { // ...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句