2013-08-18 4 views
0

, как вы могли видеть здесь, в коде, в котором нет синтаксической ошибки, но каждая строка кажется правильной, но когда этот код используется в моем приложении, оператор «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); 
    } 
} 
+0

возможно дубликат [Как сравнить строки в Java?] (Http://stackoverflow.com/questions/513832/ how-do-i-compare-strings-in-java) –

ответ

2

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

  • .equals() сравнивает значения
  • == сравнивает ссылки
+0

Это что-то (я должен сказать), что хорошо учить меня. Большое спасибо trogdor, но есть проблема, мне нужен тип проблемы, а не решение ... –