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;
    }
}

相关文章
|
Java Android开发
语句嵌套中出现的BUG问题
语句嵌套中出现的BUG问题
76 2
【JAVASE】顺序和选择结构 下
【JAVASE】顺序和选择结构
【JAVASE】顺序和选择结构 上
【JAVASE】顺序和选择结构
|
6月前
|
Java 程序员 API
从代码中寻找平衡:’java代码块和具体的代码应用
Java 8 引入的 Lambda 表达式是一项革命性特性,使编写简洁、灵活且易维护的代码成为可能。Lambda 表达式作为一种匿名函数,支持任意数量参数和返回值,其基本语法为 `(parameters) -> expression` 或 `(parameters) -> { statements; }`。
46 1
|
6月前
|
存储 缓存 Java
hyengine编译实现问题之复用 quickjs 原代码如何解决
hyengine编译实现问题之复用 quickjs 原代码如何解决
|
8月前
|
Java
JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)
JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)
84 0
N..
|
9月前
|
Dart 开发者
Dart语言中的分支语句和循环
Dart语言中的分支语句和循环
N..
61 0
|
9月前
|
Java 测试技术 C语言
【JavaSE】逻辑控制:顺序、分支和循环结构
【JavaSE】逻辑控制:顺序、分支和循环结构
87 0
|
SQL 安全 Java
Java高频面试题:在DCL单例写法中,为什么主要做两次检查?
有位工作5年的小伙伴,面试的时候被问到这样一道题,说在DCL单例写法中,为什么要做两次检查。要回答好这个问题,需要知道DCL单例的写法以及为什么要这样写? 今天,我给大家详细分析一下。
186 0
|
Java Linux C语言
【JavaSE】逻辑控制语句
顺序结构比较简单,即程序按照代码书写的顺序一行一行执行下去。

热门文章

最新文章