Java 可能是什么错误

Java 可能是什么错误,java,error-handling,error-detection,Java,Error Handling,Error Detection,就像你在代码中看到的那样,没有语法错误,但是每一行看起来都是正确的,但是当这个代码在我的应用程序中使用时,“if”语句不起作用。。。。。。它与已存在的字符串数组不匹配。如果我删除if语句,它在所有迭代中都可以正常工作。(我通过放置相同的实体进行了检查,但仍然不起作用) 我不想要解决方案我想知道原因。。。。???谢谢 注: s1'是字符串数组(非空) searchentry'是一个字符串(不是空的) 代码: public void searchCapability(){ 布尔NotFound=

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

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

注:

  • s1'是字符串数组(非空)
  • searchentry'是一个字符串(不是空的)
代码:

public void searchCapability(){
布尔NotFound=true;
/////////////////线性文件夹搜索/////////////

for(int i=0;i使用.equals()进行字符串比较可能会满足您的需要

  • .equals()比较值
  • ==比较引用
这可能是重复的(我必须说)很好,你教我。非常感谢trogdor,但有一个问题我需要的是问题类型而不是解决方案。。。
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);
    }
}