在 Kotlin 中获取可变参数的类型不匹配

sal*_*ela 3 kotlin

这是我在代码中的简单情况

fun receiveDogs(vararg dog: Dog){
    processDogs(dog)
    ... //more cool stuff
}

fun processDogs(vararg dog: Dog){
  .....//cool stuff
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,调用processDogs(dog)会导致编译错误

类型不匹配。

要求:狗

发现:数组<out Dog>

现在明白我的两个函数都需要一个可变参数。有没有简单的方法来解决这个问题?

小智 5

哦...你需要做

processDogs(*dog)
Run Code Online (Sandbox Code Playgroud)

您需要再次将数组传播到 vararg 中。