gpt4 book ai didi

Java - 单个语句中的变量声明、赋值和空值检查

转载 作者:行者123 更新时间:2023-12-01 23:00:25 25 4
gpt4 key购买 nike

我想知道是否有一种方法可以使以下代码的前两行在 Java 中成为单行代码,以便在一行中声明、分配和检查 object:

Object object;
if ((object = queue.poll()) != null) {
// do something with object
}

最佳答案

如果您不介意将对象变量的范围限制在大括号中的代码中,那么您可以这样做:

for (Object object; (object = queue.poll()) != null;) {
// do whatever with object
break;
}

这与我们在读取文件时所做的典型操作相差无几,如下所示:

for (String line; (line = reader.readLine()) != null;) {
// do something with line
}

或者按照 rzwitserloot 的建议:

for (Object object = queue.poll; object != null; object = null)   {
// do something with object
}

这样它只轮询一次,并且在循环体中省略 break 没有坏处。清空增量中的对象可确保循环在第一次通过后终止。

在你无意循环的情况下使用 for 循环是一种滥用。我会继续使用您开始使用的多行版本。

但是如果你正在轮询,通常你无论如何都需要一个循环。

关于Java - 单个语句中的变量声明、赋值和空值检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71929220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com