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

相关文章
【JAVASE】顺序和选择结构 下
【JAVASE】顺序和选择结构
【JAVASE】顺序和选择结构 上
【JAVASE】顺序和选择结构
|
6月前
|
存储 Java C#
选择结构程序综合举例
选择结构程序综合举例
52 1
|
3月前
|
Java 机器人 开发者
04 Java流程控制-循环(while+for+关键字+嵌套)
04 Java流程控制-循环(while+for+关键字+嵌套)
60 4
|
Java
Java的流程控制(选择结构语句 if ~ switch &循环结构语句dowhile ~ for)
程序执行的控制流程分为三种,也称为三种结构,分别是:顺序结构、和循环结构。 顺序结构指的是程序执行按照代码的编写顺序,依次从上往下开始执行,直到程序结束。程序的执行默认是顺序执行的
113 1
Java中的条件语句:if语句和switch语句的作用与区别
Java中的条件语句:if语句和switch语句的作用与区别
268 0
N..
|
6月前
|
Dart 开发者
Dart语言中的分支语句和循环
Dart语言中的分支语句和循环
N..
42 0
|
6月前
|
Java 测试技术 C语言
【JavaSE】逻辑控制:顺序、分支和循环结构
【JavaSE】逻辑控制:顺序、分支和循环结构
65 0
|
Java Linux C语言
【JavaSE】逻辑控制语句
顺序结构比较简单,即程序按照代码书写的顺序一行一行执行下去。
|
Java
04 java流程控制-分支语句
流程控制语句概览 在默认程序中是顺序结构,从上往下依次执行;用思维导图,结构化核心概念。
82 0