这可以重构吗?或者这看起来不错。 (变量名称已更改)
if (cmpScope.equals(GLOBAL)) {
return true;
} else if ((cmpScope.equals(X) || cmpScope.equals(Y))
&& cid == pid) {
return true;
} else if (cmpScope.equals(Z) && cid != pId) {
return true;
} else if (cmpScope.equals(V) && cid == pid) {
return true;
} else if (cmpScope.equals(Z) && cid == pid && cSubId != pSubId) {
return true;
}
return false;
最佳答案
只需将所有表达式与 or-operators 结合起来,因为它们都返回 true。
return ((cmpScope.equals(GLOBAL) ||
((cmpScope.equals(X) || cmpScope.equals(Y)) && cid == pid) ||
(cmpScope.equals(Z) && cid != pId) ||
(cmpScope.equals(V) && cid == pid) ||
(cmpScope.equals(Z) && cid == pid && cSubId != pSubId));
关于java - 太多的 if-else 语句,有什么方法可以重构它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33689623/