Какой тип списка, который является изменяемым в 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>,

Другие вопросы по тегам