for循环忽略boolean if语句

时间:2012-09-16 14:51:14

标签: java android

foreach循环完全忽略了我的if语句。

        for(InfoBox infoBox : mAbilities)
        {
            if(infoBox.CheckPressed(event));
            {
                //This is being outputted each time, even if the if statement returns false.
                System.out.println(infoBox.getName());
            }

            System.out.println(infoBox.CheckPressed(event));
            System.out.println(infoBox.getName());
        }

3 个答案:

答案 0 :(得分:11)

您过早地用分号终止了if声明:

if(infoBox.CheckPressed(event));  // <-- remove the semicolon

这使得以下块成为永远执行的独立块。

答案 1 :(得分:2)

我认为这是你必须无意中做的事情......

if(infoBox.CheckPressed(event));

删除上述semicolon声明中的if

答案 2 :(得分:2)

您应该从if语句中删除分号

if(infoBox.CheckPressed(event));