gpt4 book ai didi

java - 这个for循环的范围可以再小一点吗?

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:14 25 4
gpt4 key购买 nike

除了将此行为移至某处的方法或围绕空格移动之外,是否可以以任何方式缩小此代码的变量范围?

boolean a = true;
boolean b = false;
boolean c = false;
boolean d = false;
boolean e = false;

{
boolean[] multiBool = { a, b, c, d, e };

int isTrue = 0;
for (boolean bool : multiBool)
if (bool && ++isTrue > 1) {
System.out.println("More than 1!");

break;
}
}

我惊讶地发现我无法内联初始化列表:

for (boolean bool : { a, b, c, d, e }) {}

周围的 {} 用于限制 multiBoolisTrue 的范围,因为它们仅与此特定情况相关。

最佳答案

for (boolean bool : { a, b, c, d, e }) {}

无效,但这是:

for (boolean bool : new boolean[] { a, b, c, d, e }) {}

您可以通过消除 boolean 变量来进一步精简代码:

int isTrue = 0;
for (boolean bool : new boolean[]{true,false,false,false,false}) {
if (bool && ++isTrue > 1) {
System.out.println("More than 1!");
break;
}
}

当然,如果预先知道 boolean 变量的值,则根本不需要 for 循环,因为您已经知道只有一个 true 值。

关于java - 这个for循环的范围可以再小一点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41263111/

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