JavaSE选择结构——优化if-else的嵌套代码

简介: JavaSE选择结构——优化if-else的嵌套代码

1.业务场景


在业务场景中,经常会出现很复杂的if else嵌套,譬如下面这种情况:👇👇👇

// 请按你的实际需求修改参数
public String convertCountryName(String fullName) {
    if ("china".equalsIgnoreCase(fullName)) {
        return "CN";
    } else if ("america".equalsIgnoreCase(fullName)) {
        return "US";
    } else if ("japan".equalsIgnoreCase(fullName)) {
        return "JP";
    } else if ("england".equalsIgnoreCase(fullName)) {
        return "UK";
    } else if ("france".equalsIgnoreCase(fullName)) {
        return "FR";
    } else if ("germany".equalsIgnoreCase(fullName)) {
        return "DE";
    } else {
        throw new RuntimeException("unknown country");
    }
}


对于上面的代码,可能我们大体上看还挺舒服的,可读性也不错。但是假设我们的业务需要支持地球上所有国家的名字与简写的转换,那么以目前的写法,将会出现有上百个if else,这样一来,代码的可读性、可扩展性等方面都将得不到一个好的保障。


所以我们能不能考虑对这上百个if-else进行优化呢?


2.优化代码


我在这里给出两种优化方式:①采用枚举实现;②采用Map实现。

/**
 *
 */
public enum CountryEnum {
    china("CN"),
    america("US"),
    japan("JP"),
    england("UK"),
    france("FR"),
    germany("DE"),
    ;
    private String fullName;
    CountryEnum(String fullName) {
        this.fullName = fullName;
    }
    public String getFullName() {
        return fullName;
    }
}

目录
打赏
0
0
0
0
85
分享
相关文章
|
9月前
|
Kotlin中的选择结构语句if when
Kotlin中的选择结构语句if when
|
9月前
|
JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)
JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)
90 0
js-选择结构与判断分支结构
js-选择结构与判断分支结构
smarty模版引擎嵌套循环的解决方案
smarty模版引擎嵌套循环的解决方案
66 0
【JavaSE】逻辑控制语句
顺序结构比较简单,即程序按照代码书写的顺序一行一行执行下去。
MyBatis框架:第八章:自定义结果集,一对一,一对多,延迟加载,赖加载
MyBatis框架:第八章:自定义结果集,一对一,一对多,延迟加载,赖加载
218 0
MyBatis框架:第八章:自定义结果集,一对一,一对多,延迟加载,赖加载