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...
}
}
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料