java 中可以使用什么在 kotlin 中可变的列表类型?
what list type which is mutable in kotlin can be used in java?
有一个用 kotlin 创建的库,其中有一个函数预计会被其后代覆盖 class,它需要一个 mutableList(预计会在此函数中修改)
protected open fun makeDataForAdapter(itemsList: MutableList<Data>) : List<Data>{
return itemsList // default behavior
}
该库在 java 的应用程序中使用,因此后代 class 会覆盖它:
@Override
protected List<Data> makeDataForAdapter(MutableList<Data> itemsList) {
......
}
编译器抱怨 "cant resolve the MutableList"
什么列表类型在 kotlin 中是可变的,可以在 java 中使用?
kotlin.List<out T>
和 kotlin.MutableList<E>
are mapped types,在 JVM 和 Android 上,都由 java.util.List<E>
接口表示。
所以你只需要在任何需要与 Kotlin List<out E>
或 MutableList<E>
.
互操作的地方使用 Java List<E>
类型
有一个用 kotlin 创建的库,其中有一个函数预计会被其后代覆盖 class,它需要一个 mutableList(预计会在此函数中修改)
protected open fun makeDataForAdapter(itemsList: MutableList<Data>) : List<Data>{
return itemsList // default behavior
}
该库在 java 的应用程序中使用,因此后代 class 会覆盖它:
@Override
protected List<Data> makeDataForAdapter(MutableList<Data> itemsList) {
......
}
编译器抱怨 "cant resolve the MutableList"
什么列表类型在 kotlin 中是可变的,可以在 java 中使用?
kotlin.List<out T>
和 kotlin.MutableList<E>
are mapped types,在 JVM 和 Android 上,都由 java.util.List<E>
接口表示。
所以你只需要在任何需要与 Kotlin List<out E>
或 MutableList<E>
.
List<E>
类型