kotlin中的while或if怎么先取值,后比较

发布于 2022-09-02 14:47:45 字数 232 浏览 10 评论 0

例如java中这么写的

int dataSize;
while ((dataSize = input.read()) != -1) {

}

在kotlin中这么写是报错的

assignments are not expressions,and only expressions are allowed in this connect

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

演出会有结束 2022-09-09 14:47:45

kotlin不支持在条件里面包含赋值语句,你可以使用do...while()

后eg是否自 2022-09-09 14:47:45

用apply, also这种,
while (input.read().apply{ d = this } != -1)

别闹i 2022-09-09 14:47:45
while ((input.read().also { dataSize = it }) != -1) {

}

或者

while ((input.read().apply { dataSize = this }) != -1) {

}
昔日梦未散 2022-09-09 14:47:45

整站竟然只有一个,在线转换后是这样的

val dataSize:Int
while ((dataSize = input.read()) != -1)
{
}

难道官方的bug?

请叫√我孤独 2022-09-09 14:47:45

vitoling 说得对

int dataSize;
while ((dataSize = input.read()) != -1) {

}

写成

var dataSize=input.read()
while(datasize!=-1){

dothing

dataSize=input.read()
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文