在try catch块内执行if-else循环的问题

时间:2019-05-26 11:20:26

标签: java netbeans-8

在按钮单击事件上,它不是进入if循环,而是直接进入else循环。 输出始终等于1。

有一个称为秘密共享的文本字段和一个按钮。 当秘密共享字段为null时,我们要执行if循环 当它不为null时,我们要执行else循环。 但它始终只执行else循环。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
{                                         
    // TODO add your handling code here:

    if(jTextField_getSecretShare3.getText()== null)
    {
        JOptionPane.showMessageDialog(this, "0");
    }
    else
    {
        JOptionPane.showMessageDialog(this, "1");
    }
}

1 个答案:

答案 0 :(得分:1)

getText是从JTextComponent继承而来的,它从不返回null。如果要检查 empty JTextField,请使用isEmpty(或者根据您的使用情况,使用isBlank):

if (jTextField_getSecretShare3.getText().isEmpty())
{
    JOptionPane.showMessageDialog(this, "0");
}
else
{
    JOptionPane.showMessageDialog(this, "1");
}

请注意,您可以使用条件运算符(? :)在单个语句中执行此操作:

JOptionPane.showMessageDialog(this, jTextField_getSecretShare3.getText().isEmpty() ? "0" : "1");