在 Kotlin 中创建 Arraylist 作为接受任何类型的函数的参数

Vij*_*dra 2 android kotlin

我是 Android Studio 的 kotlin 新手。我在 kotlin 中编写了一个函数,它接受 Arraylist 作为输入并随机对其进行洗牌 -

fun randomize(array: ArrayList<Any>) { ... }
Run Code Online (Sandbox Code Playgroud)

我希望这个函数接受任何类型的 ArrayList,但使用以下参数调用会出现类型不匹配错误 -

val arr = ArrayList<Int>()
// ...
randomize(array = arr) // Gives Error
Run Code Online (Sandbox Code Playgroud)

我如何使用接受任何类型的ArrayList。感谢您的帮助。

zsm*_*b13 5

您需要使您的函数变得通用,如下所示:

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

但是,如果您没有任何具体的洗牌方法,您可以使用shuffle标准库的方法:

val arr = ArrayList<Int>()
// ...
arr.shuffle()
Run Code Online (Sandbox Code Playgroud)