Android studio-继承链中不明确的方法调用(Kotlin Java互操作性)

Android studio-继承链中不明确的方法调用(Kotlin Java互操作性),java,android,android-studio,kotlin,Java,Android,Android Studio,Kotlin,所以我有3个类-基本Java->Kotlin后代->Java后代 public class JavaParentClass { public <T> void doSmth(List<T> item) {} } open class KotlinDescendant : JavaParentClass() { override fun <T : Any?> doSmth(item: MutableList<T>?) {

所以我有3个类-基本Java->Kotlin后代->Java后代

public class JavaParentClass {
    public <T> void doSmth(List<T> item) {}
}

open class KotlinDescendant : JavaParentClass() {
    override fun <T : Any?> doSmth(item: MutableList<T>?) {
        super.doSmth(item)
    }
}

public class JavaDescendant extends KotlinDescendant {
    void someMethod() {
        doSmth(new ArrayList<String>());
    }
}
公共类JavaParentClass{
公共无效doSmth(列表项){}
}
开放类KotlinDescendant:JavaParentClass(){
覆盖fun doSmth(项目:可变列表?){
super.doSmth(项目)
}
}
公共类JavaDegenant扩展了KotlinDescendant{
void方法(){
doSmth(新ArrayList());
}
}
对于Android Studio中的
JavaDegenant
类编译器,显示错误“方法调用不明确。KotlinDescendant和JavaParentClass中都匹配”

因此,据我所知,lint只是不理解
doSmth
实际上在
KotlinDescendant
类中被重写


尽管它在运行时运行良好,但如何避免此错误?

当您在Kotlin文件中编写java代码时,android studio会抱怨,反之亦然,如果您将3个类分别放在自己的文件中,无论是从java代码还是Kotlin代码调用它们都不会产生任何错误。

错误出现在哪一行?那么,我在Java项目的IDEA 2019.2中尝试了您的代码,在这个ide中没有错误。你在Android Studio上使用什么版本?最新版本,3.5.2。感谢您提供的信息,希望它能很快出现在Android Studio中!