Intereting Posts
Плагин Dokka не найден в студии Android 3 setSmallIcon (значок: значок) и NotificationCompat Запечатанный класс в Котлине, Ошибка Несовместимых типов Смарт-литье в «Тип» невозможно, потому что «переменная» является изменчивым свойством, которое к этому моменту могло быть изменено Как использовать TextInputLayout и TextInputEditText в Kotlin anko Вывод типа Kotlin не выполняется для guava TreeMultimap установить UserDefaultsKeys (swift) в kotlin Широковещательный приемник в классе приложений android Каков правильный способ использования сравнения «больше чем», «меньше» по сравнению с целыми числами с нулевым значением в Котлине? Переменная с kotlin для URL Отражение Котлина: параметр неизвестного типа почему назначения не являются заявлениями Что такое «приемник» в Котлине? Почему знак плюса должен быть в конце строки, а не в начале на следующей строке? Исходный пользовательский посыльный объект

Java ArrayList в Kotlin Array

Есть ли простой способ преобразования Java ArrayList в массив Kotlin? Следующий код:

fun test(): Array<String> { val elems = ArrayList<String>() return elems.toArray() } 

дает ошибку:

 main.kt:2:15: error: unresolved reference: ArrayList val elems = ArrayList<String>() ^ 

Я разбираю JSON и не знаю, сколько элементов у меня получится, но как только я прочитал их, мне не нужно каким-либо образом модифицировать данные, поэтому я думал, что поеду с Kotlin массивы как тип данных.

Зачем использовать массив? Kotlin Arrays изменяются так же, как Java-массивы. Вы должны использовать Kotlin List, который, в отличие от MutableList, является неизменным. Что касается того, почему код не компилируется: toArray возвращает Object [], если вы хотите, чтобы String [] из List вам нужно использовать версию toArray, которая принимает Array как аргумент.

Попробуйте использовать функцию расширения toTypedArray , например:

 fun test(): Array<String> { val elems = arrayListOf<String>() return elems.toTypedArray() } 

вы можете использовать список kotlin, это легко использовать, почему преобразование java-массива в kotlin-массив обе изменяемы.

попробуй это….

 fun learnlist(){ var stringList= listOf<String>("a","b","c","d") for (st in stringList) print(st) var intlist= listOf<Int>(1,2,3,4,5) for(i in intlist) print(i) }