0

就像您在代码中看到的那样,没有语法错误,但是每一行似乎都是正确的,但是当在我的应用程序中使用此代码时,“ 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);
    }
}
4

1 回答 1

2

使用 .equals() 进行字符串比较可能会满足您的需求。

  • .equals() 比较值
  • == 比较参考
于 2013-08-18T09:29:00.340 回答