0
我無法使下面的查詢方法正常工作。我需要它返回,如果isRestricted
所有報告限制在狀態。如果isClosed,則返回關閉狀態的所有報告。它適用於isRestricted
,返回處於受限狀態的所有報告。它也適用於返回除限制和關閉之外的所有內容,這是很好的,但只是返回if的所有條件。現在,如果我將isClosed
條件移至頂端,那麼它適用於isClosed,但不適用於isRestricted
。我錯過了什麼?java條件如何確保它檢查所有語句
protected String getRestrictedOrClosedTerm() {
if (isRestricted == null || "false".equals(isRestricted)) {
return "-status:restricted -status:closed ";
}
if (isRestricted.isEmpty()) {
return "";
}
if ("true".equals(isRestricted)) {
return "+status:restricted ";
}
if (isClosed == null || "false".equals(isClosed)) {
return "-status:closed ";
}
if (isClosed.isEmpty()) {
return "";
}
if ("true".equals(isClosed)) {
return "+status:closed ";
}
return "";
}
它就像它是在停止:
if ("true".equals(isRestricted)) {
return "+status:restricted ";
}
有趣的是,如果我用這個,我得到想要的結果,但不知道爲什麼:
protected String getRestrictedOrClosedTerm() {
if ("true".equals(isClosed)) {
return "+status:closed ";
}
if ("true".equals(isRestricted)) {
return "+status:restricted ";
}
if (isRestricted == null || "false".equals(isRestricted)) {
return "-status:restricted -status:closed ";
}
return "";
}
使用'StringBuilder'和追加無論是相關的,並返回其'的ToString()' – fge 2014-12-04 20:32:31
你能不能給我一個例子嗎?對不起,我從來沒有使用過StringBuilder。 Java newb在這裏。 – Jason 2014-12-04 20:37:11
'return'結束該功能。所以只有你的一個ifs被執行 – jlars62 2014-12-04 20:43:53