Конвертировать массив <String>в ArrayList <String> - PullRequest
1 голос
/ 01 апреля 2019

Как мне конвертировать Array<String> в ArrayList<String> в Kotlin?

var categoryList : ArrayList<String>?=null
val list = arrayOf("None", "ABC")
categoryList = ArrayList(Arrays.asList(list))

Я получаю эту ошибку:

Error

Type inference failed. Expected type mismatch: inferred type is kotlin.collections.ArrayList<Array<String>!> /* = java.util.ArrayList<Array<String>!> */ but kotlin.collections.ArrayList<String>? /* = java.util.ArrayList<String>? */ was expected

Ответы [ 3 ]

3 голосов
/ 01 апреля 2019

Вас может заинтересовать toCollection для добавления элементов в любую передаваемую вами коллекцию:

categoryList = list.toCollection(ArrayList())

Обратите внимание, что для решения вашей конкретной проблемы вам просто понадобится оператор распространения (*) .С примененным * -фиксом это тоже сработало бы:

categoryList = ArrayList(Arrays.asList(*list))
1 голос
/ 01 апреля 2019

Другой подход - использование arrayListOf

 categoryList =arrayListOf("None", "ABC")
1 голос
/ 01 апреля 2019

Надеюсь, это поможет.

var categoryList : ArrayList<String>?=null
        val list = arrayOf("None", "ABC")
        categoryList = list.toCollection(ArrayList())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...