Java 在try-catch块内执行if-else循环时出现问题

Java 在try-catch块内执行if-else循环时出现问题,java,netbeans-8,Java,Netbeans 8,在按钮点击事件上,它不是进入if循环,而是直接进入else循环。 输出始终与1相同 有一个名为secretshare的文本字段和一个按钮。 当secretshare字段为null时,我们希望执行if循环 当它不为null时,我们希望执行else循环。 但它总是只执行else循环 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

在按钮点击事件上,它不是进入if循环,而是直接进入else循环。 输出始终与1相同

有一个名为secretshare的文本字段和一个按钮。 当secretshare字段为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");
    }
}
是从JTextComponent中继承的,它从不返回null。如果您想检查JTextField是否为空,请根据您的用例使用或:

请注意,您可以在单个语句中使用条件运算符?::


没有if循环或else循环。if和else是语句,而不是循环。循环类似于for和while,我认为jTextField_getSecretShare3.getText永远不会返回null。使用调试器找出GetTextField返回的内容请阅读并相应增强您的问题。textfield的返回值可能不是null,而是空字符串?尝试使用jTextField_getSecretShare3.getText==null | | jTextField_getSecretShare3.getText进行检查。isEmpty@Sunchezz-重要时刻,更新!:-或为空,具体取决于OP的用例。
if (jTextField_getSecretShare3.getText().isEmpty())
{
    JOptionPane.showMessageDialog(this, "0");
}
else
{
    JOptionPane.showMessageDialog(this, "1");
}
JOptionPane.showMessageDialog(this, jTextField_getSecretShare3.getText().isEmpty() ? "0" : "1");