如果条件有效,为什么不这样做呢?

时间:2016-07-08 14:21:35

标签: java swing

我创建了此代码以检查计算器的文本字段是否包含任何内容。如果文本字段中包含内容,则应显示 regfit.best <- regsubsets(Salary ~.,data= data[train,],nvmax = coll) test.mat <- model.matrix(Salary ~.,data=data[test,]) val.errors[i]= mean((Hitters$Salary-pred)^2) 。否则,它应在文本字段中显示"."。问题是if条件总是计算为false。

"0."

7 个答案:

答案 0 :(得分:2)

字符串将为"",而不是null。使用dott.isEmpty()查看dott是否没有内容。 Here是另一篇文章,其中详细介绍了.compareTo("").isEmpty().

之间的区别

答案 1 :(得分:1)

我认为你可以做到:

if(dott.equals(""))

答案 2 :(得分:0)

尝试这个String方法:

if(dott.isEmpty())
    //your code

或者您也可以使用:

if(dott.compareTo("")==0)
    // your code

答案 3 :(得分:0)

尝试类似:

 String dott = ...;
 dott.isEmpty();

 dott.equals("");

答案 4 :(得分:0)

String dott=display.getText();
if(dott==null) // original code; should use isEmpty()
{
    display.setText(display.getText()+"0.");
}

但是你已经知道display.getText()是空的,为什么要再次执行呢?对于&#34; else&#34;子句 - 你已经知道了价值。所以你应该写:

String dott=display.getText();
if(dott.isEmpty()) {
    display.setText("0.");
} else {
    display.setText(dott+dot.getText());   
}

或者更简洁:

   String dott=display.getText();
   String text = dott.isEmpty() ? "0." : dot.getText();
   display.setText(text);

甚至:

   String dott=display.getText();
   display.setText( dott.isEmpty() ? "0." : dot.getText() );

答案 5 :(得分:0)

将(dott == null)替换为

  

如果(dott.equals( “”))

答案 6 :(得分:0)

如果需要,您可以使用StringUtils的apache。链接:https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

  private void dotActionPerformed(ActionEvent evt){
        String dott=display.getText();
        if( StringUtils.isEmpty(dott))
        {
            display.setText(display.getText()+"0.");
        }
        else
        {
            display.setText(display.getText()+dot.getText());   
        }
    }