簡體   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