condition`s值为false,但程序进入if

时间:2014-12-09 09:45:17

标签: java if-statement

我有一个实现Runnable的主类。在我的函数中,我检查是否单击了面板内的特定按钮。我有一个if条件,但程序总是输入if,即使它的值是false。我试图将条件切换到if(true==false),这就是我意识到它一直进入的原因。

输出始终为false,如果是。

这是我的run()函数:

public void run()
{
    while (true)
    {
        System.out.println(categorys_list_panel.isMovetoErrorsList());
        if(categorys_list_panel.isMovetoErrorsList());
        {
            System.out.println("inside if");
            category = categorys_list_panel.getCategoryValue();
            categorys_list_panel.MovedToErrorList();
            try 
            {
                errors_list_panel.refresh(category);
            } 
            catch (SQLException e) 
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            //cardLayout.show(const_panel, "2");                
        }
    }
}

3 个答案:

答案 0 :(得分:3)

if语句以分号(;)结束,并在其后启动

if(categorys_list_panel.isMovetoErrorsList());
//                                 here -----^
{

这意味着评估条件,如果它true没有执行任何操作。 然后,打开,执行和关闭匿名块。

为了使该块与if相关,您应该删除分号:

if(categorys_list_panel.isMovetoErrorsList()) // no ;
{

答案 1 :(得分:1)

删除行;

末尾的if(categorys_list_panel.isMovetoErrorsList());

答案 2 :(得分:0)

if之后的分号表示声明在那里结束......

    if(categorys_list_panel.isMovetoErrorsList())