мультиплатформа kotlin1.3 - конвертирует arraylist в неизменный lsit - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь создать многоплатформенную библиотеку kotlin, которая впоследствии может быть преобразована в java и javascript с использованием IDEA 2019.3, kotlin 1.3

У меня есть массив составьте список со мной, и я хочу преобразовать его в неизменяемый список

val clean:List<String> = ArrayList<String>()

Я не вижу возможности преобразовать чистый список в неизменяемый. Из здесь я вижу, что kotlin имеет реализацию неизменяемого списка, но я не мог видеть это в kotlin 1.3 многоплатформенном проекте.

Я что-то упускаю из виду? Я мог видеть похожий [старый вопрос] [2] , но, согласно это , кажется, что он должен быть доступен. Пожалуйста, помогите

Ответы [ 2 ]

1 голос
/ 07 января 2020

В Kotlin, listOf(...) создает неизменный список, как указано в документации по последнему API .

. Поэтому вы можете просто написать

val clean:List<String> = ArrayList<String>()
val immutableClean = listOf(clean.toImmutableList())

, где immutableClean - список только для чтения.

1 голос
/ 07 января 2020

Использование коллекций для преобразования списка массивов в неизменный список, Пример:

Список изменяемых массивов:

val clean:List<String> = ArrayList<String>()

Преобразование в неизменный список:

val immutableList = Collections.unmodifiableList(clean)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...