我有以下代码:
override fun <T : ViewModel?> create(modelClass: Class<T>): T & Any { return try { modelClass.getConstructor(DataRepository::class.java).newInstance(mRepository) } catch (e: InstantiationException) {...}
字符串
r6hnlfcb1#
我只是把代码改成这样,现在它可以工作了:
override fun <T : ViewModel> create(modelClass: Class<T>): T { return try { modelClass.getConstructor(DataRepository::class.java).newInstance(mRepository) } catch (e: InstantiationException) {} }
mklgxw1f2#
这种情况通常发生在Kotlin代码中使用@ Notch注解的Java方法调用时。您可以通过将给定的参数类型从T更改为T & Any来解决此错误。相关JetBrains ticket:https://youtrack.jetbrains.com/issue/KTIJ-20425
2条答案
按热度按时间r6hnlfcb1#
我只是把代码改成这样,现在它可以工作了:
字符串
mklgxw1f2#
这种情况通常发生在Kotlin代码中使用@ Notch注解的Java方法调用时。您可以通过将给定的参数类型从T更改为T & Any来解决此错误。
相关JetBrains ticket:https://youtrack.jetbrains.com/issue/KTIJ-20425