繁体   English   中英

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

[英]what list type which is mutable in kotlin can be used in java?

有一个用kotlin创建的lib,其中有一个函数可以被它的后代类覆盖,它接受一个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"

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

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

所以你只需要在需要与Kotlin List<out E>MutableList<E>交互操作的地方使用Java List<E>类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM