if(id == null || id.isEmpty()){
if(type == null){
if(name==null || name.isEmpty()){
//...select..sql...
}else {
//...select..sql...
}
}else {
if(name==null || name.isEmpty()){
//...select..sql...
}else {
//...select..sql...
}
}
}else {
if(type == null){
if(name==null || name.isEmpty()){
//...select..sql...
}else {
//...select..sql...
}
}else {
if(name==null || name.isEmpty()){
//...select..sql...
}else {
//...select..sql...
}
}
}

java 多重if判断怎么优化
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
18条回答 默认 最新
- 叮当你去哪了 2018-06-25 08:05关注
把4个重复的部分提出来,这样代码是否清晰些,一定要写好注释哦 if (id == null || id.isEmpty()) { if (type == null) { getSql(1, name); } else { getSql(2, name); } } else { if (type == null) { getSql(3, name); } else { getSql(4, name); }
}
public String getSql(int state, List name) {
switch (state) {
case 1:
if (name == null || name.isEmpty()) {
// ...select..sql...
} else {
// ...select..sql...
}
case 2:
if (name == null || name.isEmpty()) {
// ...select..sql...
} else {
// ...select..sql...
}
case 3:
if (name == null || name.isEmpty()) {
// ...select..sql...
} else {
// ...select..sql...
}
case 4:
if (name == null || name.isEmpty()) {
// ...select..sql...
} else {
// ...select..sql...
}
}
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报