java– 在将vararg参数传递给Kotlin中的另一个函数时编译时间错误

java– 在将vararg参数传递给Kotlin中的另一个函数时编译时间错误,第1张

概述我试图接受一个vararg参数作为Kotlin中的函数参数,并尝试将其传递给另一个带有vararg参数的函数.但是,这样做会给我一个编译错误,类型不匹配:推断类型是IntArray但Int是预期的.科特林:funa(vararga:Int){b(a)//typemismatchinferredtypeisIntArraybutIntwasex

我试图接受一个vararg参数作为Kotlin中的函数参数,并尝试将其传递给另一个带有vararg参数的函数.但是,这样做会给我一个编译时错误,类型不匹配:推断类型是IntArray但Int是预期的.

科特林:

fun a(vararg a: Int){   b(a) // type mismatch inferred type is IntArray but Int was expected}fun b(vararg b: Int){}

但是,如果我在Java中尝试相同的代码,它的工作原理.

Java的:

voID a(int... a) {    b(a); // works completely fine}voID b(int... b) {}

我怎么能绕过这个?

解决方法:

只需在你传递的参数(传播运算符)前放一个*,即

fun a(vararg a: Int){  // a actually Now is of type IntArray  b(*a) // this will ensure that it can be passed to a vararg method again}

另见:Kotlin functions reference #varargs

总结

以上是内存溢出为你收集整理的java – 在将vararg参数传递给Kotlin中的另一个函数时编译时间错误全部内容,希望文章能够帮你解决java – 在将vararg参数传递给Kotlin中的另一个函数时编译时间错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存