原文链接:https://blog.csdn.net/qq_33591903/article/details/105240966
怎么减少if语句
项目初期,代码比较简单,脉络清晰。可随着bug或者新需求的出现,状态变得越来越多,只能不停的加else来区分,久而久之,判断的次数越来越多,嵌套的层数也越来越深,变得难以维护。
那么有什么方法可以优化if else 结构呢?
1.提前return,减少else判断
优化前:
private int handlePre1(boolean flag) {
if (flag) {
//do something
} else {
//do something
return -1;
}
return 0;
}
优化后:
private int handlePre1(boolean flag) {
if(!flag){
//do something
return -1;
}
//do something
return 0;
}
使用三目运算符
优化前:
private int handlePre2(boolean flag) {
if (flag) {
return 0;
} else {
return 1;
}
}
优化后:
private int handlePre2(boolean flag) {
return flag?0:1;
}
第三种方法:使用switch case
优化前:
private String getCn(String en) {
String cn;
if ("student".equals(en)) {
cn = "学生";
} else if ("teacher".equals(en)) {
cn = "教师";
} else {
cn = "未知";
}
return cn;
}
优化后: