1

有一个用 kotlin 创建的库,其中有一个函数预计将被其后代类覆盖,该函数需要一个 mutableList(预计将在此函数中修改)

protected open fun makeDataForAdapter(itemsList: MutableList<Data>) : List<Data>{
    return itemsList // default behavior
}

该 lib 在带有 java 的应用程序中使用,因此后代类将覆盖它:

@Override
protected List<Data> makeDataForAdapter(MutableList<Data> itemsList) {
     ......
}

编译器抱怨"cant resolve the MutableList"

在 kotlin 中可变的列表类型可以在 java 中使用吗?

4

1 回答 1

3

是映射类型kotlin.List<out T>,在 JVM 和 Android 上,它们都由接口表示。kotlin.MutableList<E> java.util.List<E>

因此,您只需List<E>在需要与 KotlinList<out E>MutableList<E>.

于 2018-08-21T17:43:50.050 回答