Какая ошибка это может быть

Как вы могли видеть здесь в коде под этим, что нет синтаксической ошибки, но каждая строка кажется правильной, но когда этот код используется в моем Приложении, оператор "если" не работает...... его не соответствует строка с уже существующий строковый массив. если я удаляю это, если заявления это работает хорошо для всей итерации. (Я проверил, поставив те же сущности, но он все еще не работает)

Я не хочу решения, я хочу знать причину....??? Спасибо

НОТА:

  • 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 ответ

Сравнение строк с использованием.equals() может дать вам то, что вам нужно.

  • .equals() сравнивает значения
  • == сравнивает ссылки
Другие вопросы по тегам