您可以使用else
:
if (abciden != null) {
// PERFORM SSS
}
else {
if (subject.equalsIgnoreCase(IOAConstants.DDD_REPORT_SUBJECT_ert)) {
//PERFORM CCC
}
if (subject.equalsIgnoreCase(IOAConstants.DDD_REPORT_SUBJECT_fgt)) {
//PERFORM BBB
}
}
或者我假设subject
不能同时匹配这两个常量:
if (abciden != null) {
// PERFORM SSS
}
else if (subject.equalsIgnoreCase(IOAConstants.DDD_REPORT_SUBJECT_ert)) {
//PERFORM CCC
}
else if (subject.equalsIgnoreCase(IOAConstants.DDD_REPORT_SUBJECT_fgt)) {
//PERFORM BBB
}
重新编辑:
想用速记条件三元运算符替换 if 吗?:
好的,如果您特别想要三元,请确保无论这些“执行”步骤是什么,它们都会返回一个值。然后你可以使用这个怪物:
rv = abciden != null ? performSSS() : subject.equalsIgnoreCase(IOAConstants.DDD_REPORT_SUBJECT_ert) ? performCCC() : subject.equalsIgnoreCase(IOAConstants.DDD_REPORT_SUBJECT_fgt) ? performCCC() : didNothingValue;
我做。不是。推荐。它。:-) 难以阅读、难以调试、难以维护。