在我的 kotlin 代码中,我收到 Type mismatch(inferred type is Int but Boolean is expected) 错误。
fun main(args: Array<String>) {
var i = args.size
while (i--){
println(args[i])
}
}
在我的 kotlin 代码中,我收到 Type mismatch(inferred type is Int but Boolean is expected) 错误。
fun main(args: Array<String>) {
var i = args.size
while (i--){
println(args[i])
}
}
您必须提供一个布尔值作为 的参数while
。在 Kotlin 中没有自动转换Int
to 。Boolean
所以你不能做while(i--)
,但你可以,例如,做while(i-- != 0)
or while(i-- > 0)
。
while (x > 0) { x-- } do { val y = retrieveData() } while (y != null) // y is visible here!
虽然需要一个布尔值(真/假),但您给出一个整数(i-1)。正确的代码可能是:
fun main(args: Array<String>) {
var i = args.size
while (i>=0){
println(args[i])
i--
}
}