如果在我的java应用程序中似乎忽略了else

时间:2012-09-05 20:15:54

标签: java

我刚开始用java编程,我正在创建一个简单的等待列表。 它似乎运作良好,但我决定包括一个if else结构来检查文本字段不是空的。问题是,它似乎被忽略,因为我没有得到错误或什么..我googled很多if if例子,我不能解决问题不知何故..我做错了什么?您可以在下面找到相关代码。提前谢谢。

public void actionPerformed(ActionEvent e) {

    // check if veld1 is filled in.
    if ( veld1 == null || veld1.equals( "" ) ) { 
        // give error
        System.out.println("U heeft niets ingevuld in veld1");
    }
    else {
        veld4.setText( veld3.getText() );
        veld3.setText( veld2.getText() );
        veld2.setText( veld1.getText() );
        textveld1.append( veld4.getText() + "\n" );
        veld1.setText("");
    }
}

4 个答案:

答案 0 :(得分:8)

看来veld1不是一个字符串,而是一些Swing控件。 你可能想做

if(veld1.getText() == null || veld1.getText().equals( "" )

答案 1 :(得分:1)

如果veld1拥有JTextField,您可能希望将语句更改为veld1 == null || veld1.getText() == null || veld1.getText().equals( "" ),就像在当前代码中一样,检查字段本身是否存在,而不是其内容。

答案 2 :(得分:1)

如果没有看到剩下的内容就难以批准,但veld1.equals("")看起来很可疑。您正在将veld1与空字符串进行比较,但veld1看起来像一个组件。也许你的意思是veld1.getText().equals("")(同样地,veld1.getText() == null

答案 3 :(得分:0)

veld1.equals(“”)与veld1.getText()。equals(“”)不同,第一个是将veld1对象与空字符串进行比较,并且始终为false。