Какой тип списка, который является изменяемым в kotlin, может использоваться в Java?
Имея библиотеку, созданную с помощью 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?
1 ответ
Решение
kotlin.List<out T>
а также kotlin.MutableList<E>
являются сопоставленными типами, которые в JVM и Android представлены java.util.List<E>
интерфейс.
Так что вам просто нужно использовать Java List<E>
введите, где вам нужно взаимодействовать с Kotlin List<out E>
или же MutableList<E>
,