它可能是什么错误

时间:2013-08-18 08:51:38

标签: java error-handling error-detection

就像你可以在代码中看到的那样,没有语法错误,但每一行似乎都正确但是当我的应用程序中使用此代码时,“if”语句不起作用......它不匹配已存在字符串数组的字符串。如果我删除if语句它适用于所有迭代。 (我通过放置相同的实体进行检查,但它仍然无效)

我不想解决方案我想知道原因.... ???谢谢

注:

  • s1'是一个字符串数组(非空)
  • searchentry'是一个字符串(非空)

代码:

public void searchCapability(){
    boolean NotFound=true;
    ///////////////// Linear Folder Search  /////////////
    for(int i=0; i<s1.length; i++){
        if(searchentry==s1[i]){  // code under this if is not working as if is true or false
            l1.setSelectedIndex(i);
            NotFound=false;
        }
    }

    ///////////////////  Linear File search  /////////////
    for(int i2=0; i2<s2.length; i2++){
        // code under this if is not working as if is true or false
        if((searchentry+".xls")==s2[i2]){
            l2.setSelectedIndex(i2); 
            t1.setText(s3);
            NotFound=false;
        }
    }

    if(NotFound==true){
        JOptionPane.showMessageDialog(null, "Entry Not Found  :)", "Error", JOptionPane.INFORMATION_MESSAGE);
    }
}

1 个答案:

答案 0 :(得分:2)

使用.equals()进行字符串比较可以为您提供所需的信息。

  • .equals()比较值
  • ==比较参考