您的位置 首页 Java

java – 科特林:为什么我不能在循环守卫中做任务?

为什么这个语法无效? IntelliJ报告的错误是在这样的上下文中仅允许表达式(第2行).我想知道是否有一些语法来解决这个问题,因为
Java在循环功能中允许这种类型的赋值.

var c: Int;
while ((c = reader.read()) != 1) {
}

解决方法

语法无效,因为c = reader.read()不是Kotlin中的表达式 – 这样可以防止所有的== vs = bugs.

您必须将其重写为:

while (true) {
    val c = reader.read()
    if (c == 1) break
    ...
}

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章