我正在尝试传递可以存储Double,Int,Long等值的数组。

val input = arrayOf(1.3, 4.5)
val output = arrayOf(3) // Error Kotlin: Type mismatch: inferred type is Array<Int> but Array<Any> was expected

magic(input, output)

fun magic(input: Array<Any>, output: Array<Any>) {
  // Do the magic
}

我必须使用哪种类型的参数?

最佳答案

您可能正在寻找 Number

fun magic(input: Array<Number>, output: Array<Number>) {
  // Do the magic
}

val input = arrayOf<Number>(1.3, 4.5)
val output = arrayOf<Number>(3)
magic(input, output)

关于kotlin - Kotlin Any-双重不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49584140/

10-10 19:39