我有一个布尔数组,我想知道如何在if语句中测试所有这些,而不占用太多空间,这是我到目前为止所做的。
private boolean[] running = new boolean[10]
if(running[] == true){
goes through code here
}
这就是我要做的事情,因为它不起作用我不想像这样写出来。
private boolean[] running = new boolean[10]
if(running[1] == true || running[2] == true || running[3] == true || etc.){
goes through code here
}
因此,如果有办法立即检查所有这些,那就太棒了。
答案 0 :(得分:5)
public static boolean any (boolean[] array) {
for (boolean item : array) {
if (item) {
return true;
}
}
return false;
}
if (any(running)) {
// your code
}
答案 1 :(得分:2)
for(boolean bool : running) {
if(bool) {
//your code
break;
}
}
答案 2 :(得分:1)
你需要写一个循环。
boolean success = true;
for( int i = 0; i < running.length; ++i ) {
if( running[i] == false ) {
success = false;
break;
}
}
if( success == true ) {
// Do stuff
}
您不必担心占用太多代码。只是担心编写易于理解的代码。
编辑: 如果数组中的所有项都为true,则上面运行if语句。如果你真的想要执行代码,如果数组中的任何一项是真的,它看起来会更像这样:
boolean success = false;
for( int i = 0; i < running.length; ++i ) {
if( running[i] == true ) {
success = true;
break;
}
}
if( success == true ) {
// Do stuff
}