在我的kotlin代码中我得到类型不匹配(推断类型是Int但是预期布尔值)错误。
fun main(args: Array<String>) {
var i = args.size
while (i--){
println(args[i])
}
}
答案 0 :(得分:3)
您必须提供一个布尔值作为while
的参数。 Kotlin中没有Int
到Boolean
的自动投射。
所以你不能while(i--)
,但你可以做while(i-- != 0)
或while(i-- > 0)
。
答案 1 :(得分:2)
<强> Kotlin while loops manual 强>
while (x > 0) { x-- } do { val y = retrieveData() } while (y != null) // y is visible here!
答案 2 :(得分:1)
虽然期望一个布尔值(true / false),但你给出一个整数(i-1)。正确的代码可能是:
fun main(args: Array<String>) {
var i = args.size
while (i>=0){
println(args[i])
i--
}
}