Создать Arraylist в качестве параметра функции, которая принимает любой тип в Kotlin - PullRequest
0 голосов
/ 01 мая 2018

Я новичок в kotlin с Android Studio. Я написал функцию в kotlin, которая принимает Arraylist в качестве входных данных и случайным образом перемешивает его -

fun randomize(array: ArrayList<Any>) { ... }

Я хочу, чтобы эта функция принимала ArrayList любого типа, но вызов следующих аргументов приводит к ошибке несоответствия типов -

val arr = ArrayList<Int>()
// ...
randomize(array = arr) // Gives Error

Как я могу использовать ArrayList, который принимает любой тип. Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 01 мая 2018

Вы должны сделать свою функцию обобщенной, например:

fun <T> randomize(array: ArrayList<T>) {
    // do whatever you want to your `ArrayList`
}

Но если у вас нет какого-либо особого подхода к выполнению перетасовки, вы можете просто использовать метод shuffle стандартной библиотеки:

val arr = ArrayList<Int>()
// ...
arr.shuffle()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...