在我的kotlin代码中我得到类型不匹配(推断类型是Int但预期布尔值)错误 .
fun main(args: Array<String>) { var i = args.size while (i--){ println(args[i]) } }
您必须提供一个布尔值作为 while 的参数 . 在Kotlin中没有自动转换 Int 到 Boolean .
while
Int
Boolean
所以你不能做 while(i--) ,但你可以,例如,做 while(i-- != 0) 或 while(i-- > 0) .
while(i--)
while(i-- != 0)
while(i-- > 0)
Kotlin while loops manual
while(x> 0){X -}
做 while(y!= null)// y在这里可见!
期望一个布尔值(真/假),你给出一个整数(i-1) . 正确的代码可能是:
fun main(args: Array<String>) { var i = args.size while (i>=0){ println(args[i]) i-- } }
3 回答
您必须提供一个布尔值作为
while
的参数 . 在Kotlin中没有自动转换Int
到Boolean
.所以你不能做
while(i--)
,但你可以,例如,做while(i-- != 0)
或while(i-- > 0)
.Kotlin while loops manual
做 while(y!= null)// y在这里可见!
期望一个布尔值(真/假),你给出一个整数(i-1) . 正确的代码可能是: