我目前正在使用当前的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);
}
答案 0 :(得分:5)
"receiveInput" != null
并且所有其他条件始终为真。所以它总是采取第一条道路。你应该有一些东西
if (var.equals("somestring"))
{
...
}
else if (var.equals("someOtherString"))
{
...
}
答案 1 :(得分:3)
如果receiveInput是一个变量,请不要用引号括起来。这样做会使它成为一个字符串,字符串永远不会为空。
答案 2 :(得分:2)
“receiveInput”!= null始终为true。这是一个静态字符串。你的意思是有一个container.get(“receiveInput”)?
答案 3 :(得分:2)
由于您对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 :(得分:0)
如果那是你的代码行,那么你发出的是字符串永远不会为空,它们是硬编码的字符串。