加入收藏 | 设为首页 | 会员中心 | 我要投稿 台州站长网 (https://www.0576zz.cn/)- 边缘计算、中间件、数据处理、数据分析、智能存储!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-11-18 03:56:23 所属栏目:Java 来源:互联网
导读:为什么这个语法无效? IntelliJ报告的错误是在这样的上下文中仅允许表达式(第2行).我想知道是否有一些语法来解决这个问题,因为 Java在循环功能中允许这种类型的赋值. var c: Int;while ((c = reader.read()) != 1) {} 语法无效,因为c = reader.read()不是Kotl

为什么这个语法无效? 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
    ...
}

(编辑:台州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读