Инструкция Help java if

#java #html

#java #HTML

Вопрос:

В настоящее время я работаю над проектом, использующим текущую инструкцию if, и я уверен, что совершаю ошибку, кто-нибудь может помочь?

 if ("receiveInput" != null){
        HTML.clickHtmlLink(objBrowser, ".text", "receiveInput",1);
    }
    else if ("receiveSyncIt..." != null) {
        HTML.clickHtmlLink(objBrowser, ".text", "receiveSyncIt...",1);
    }
    else if ("ReceiveQueryI..." != null) {
        HTML.clickHtmlLink(objBrowser, ".text", "ReceiveQueryI...",1);
    }
    else {
        HTML.clickHtmlLink(objBrowser, ".text", "ReceiveWF_EVE...",1);
    }
  

Комментарии:

1. «receiveInput» — это строка… полагаю, вы хотели сравнить переменную с null

Ответ №1:

"receiveInput" != null и все остальные условия всегда выполняются. таким образом, он всегда будет использовать первый путь. У вас должно быть что-то вроде

 if (var.equals("somestring"))
{
...
}
else if (var.equals("someOtherString"))
{
...
}
  

Комментарии:

1. if (var.equals("someString")) предполагая, что var является String

Ответ №2:

Если receiveInput является переменной, не заключайте ее в кавычки. Это делает его строкой, а строка никогда не бывает нулевой.

Ответ №3:

Поскольку вы интересуетесь HTML, я предполагаю, что это ключи к карте параметров. Итак, возможно, ваш код должен выглядеть следующим образом:

 // request is the incoming HTTP request
if (request.getParameter("receiveInput") != null){
        HTML.clickHtmlLink(objBrowser, ".text", "receiveInput",1);
    }
    else if (request.getParameter("receiveSyncIt...") != null) {
        HTML.clickHtmlLink(objBrowser, ".text", "receiveSyncIt...",1);
    }
    else if (request.getParameter("ReceiveQueryI...") != null) {
        HTML.clickHtmlLink(objBrowser, ".text", "ReceiveQueryI...",1);
    }
    else {
        HTML.clickHtmlLink(objBrowser, ".text", "ReceiveWF_EVE...",1);
    } 
  

Все те другие умные люди, которые советовали вам использовать equals вместо == для сравнения строк, попали в точку, но это не ваша проблема здесь.

Ответ №4:

«receiveInput» != null всегда имеет значение true. Это статическая строка. Вы имеете в виду иметь container.get(«receiveInput»)?

Ответ №5:

Если это ваш код построчно, то проблема заключается в том, что строки никогда не будут равны null, это жестко закодированные строки.