广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java优化if-else代码的实战记录
  • 523
分享到

Java优化if-else代码的实战记录

2024-04-02 19:04:59 523人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言 方案一: 数组 方案二:HashMap 由 key 获取 value 由 value 获取 key 解决方案三:枚举 总结 前言 开发系统一些状态,比如订单状态:数据库存

前言

开发系统一些状态,比如订单状态:数据库存储是数字或字母,但是需要显示中文或英文,一般用到if-else代码判断,但这种判断可读性比较差,也会影响后期维护,也比较容易出现bug。比如:

假设状态对应关系:1:agree 2:refuse 3:finish


int status;
String statusStr = null;
if (status == 1) {
   status = "agree";
} else if (status == 2) {
   status = "refuse";
}else if(status == 3) {
    status = “finish”;
}

方案一: 数组

这种仅限通过数字获取到字母或者中文。

首先设置数组


String[] statusArray = {"","agree","refuse","finish"};

通过数组的位置获取数组的值


int status;
String statusStr =  statusArray[status];
  • 优点: 占用内存少
  • 缺点: 状态值只能是数字,而且还需要考虑数组越界情况

方案二:HashMap

创建和添加map:


    private static final Map<Integer,String> map = new HashMap<>();

    static {
        map.put(1,"agree");
        map.put(2,"refuse");
        map.put(3,"finish");
    }

这种有两种求解方式,通过 key 获取 value 以及通过 value 获取 key,

由 key 获取 value

直接使用 get 方法即可。这里的key相对于数组解法,不限制 key 的类型。


int status;
map.get(status);

由 value 获取 key

使用map遍历:


int status;
for(Map.Entry<Integer, String> vo : map.entrySet()){
     if (vo.getValue().equals(result)) {
           status = vo.geTKEy();
           break;
      }
}
  • 优点:状态值不限制数字
  • 缺点:占用空间大

解决方案三:枚举

先定义一个枚举类


public enum TestEum {

    agree(1,"agree"),
    refuse(2,"refuse");

    private int code;

    private String capation;

    TestEum(int code,String capation){
        this.code = code;
        this.capation = capation;
    }

    public int getCode() {
        return code;
    }

   public String getCapation() {
        return capation;
   }
  
   String of(int code){
        for (TestEum testEum : TestEum.values()) {
            if (testEum.getCode() == code) {
                return testEum.getCapation();
            }
        }
        return null;
    } 
}

有了枚举以后,if-else 代码块可以优化成一行代码


String statusStr = TestEum.of(status);

总结

  1. 如果通过数字获取描述,使用数组即可。
  2. 如果通过描述获取数字,使用枚举和HashMap都可以。

到此这篇关于Java优化if-else代码的文章就介绍到这了,更多相关Java优化if-else代码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java优化if-else代码的实战记录

本文链接: https://www.lsjlt.com/news/135938.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java优化if-else代码的实战记录
    目录前言 方案一: 数组 方案二:HashMap 由 key 获取 value 由 value 获取 key 解决方案三:枚举 总结 前言 开发系统一些状态,比如订单状态:数据库存...
    99+
    2022-11-12
  • java实战技巧之if-else代码优化技巧大全
    目录前言技巧一:提取方法,拆分逻辑技巧二:分支逻辑提前return技巧三:枚举技巧四:函数式接口技巧五:设计模式使用技巧一:工厂模式+抽象类使用技巧二:策略模式+模板方法+工厂模式+...
    99+
    2022-11-13
  • 如何优化Java代码中大量的if/else
    这篇文章主要介绍了如何优化Java代码中大量的if/else的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何优化Java代码中大量的if/else文章都会有所收获,下面我们一起来看看吧。观点一(灵剑)前期迭代...
    99+
    2023-07-05
  • 一招教你优化Java代码中大量的if/else
    目录观点一(灵剑)1. 提前return2. 策略模式2.1 多态2.2 枚举3. 学会使用 Optional4. 数组小技巧观点二(IT技术控)观点一(灵剑) 前期迭代懒得优化,来...
    99+
    2023-03-24
    Java优化if else Java if else
  • 记一次SQL优化的实战记录
    目录前言1. 创建表2. 需求3. 给表插入数据4. 开始根据需求写SQL4.1 第一版4.2 第二版4.3 第三版总结前言 昨天(2022-7-22)上线了我的一个功能,测试环境数据量较小,问题不大,但是上生产之后,直...
    99+
    2022-07-24
    sql优化最佳实践 SQL优化技巧 数据库SQL优化
  • MySQL中的SQL优化实战记录
    这篇文章主要介绍“MySQL中的SQL优化实战记录”,在日常操作中,相信很多人在MySQL中的SQL优化实战记录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL中的S...
    99+
    2022-10-18
  • 关于Swagger优化的实战记录
    目录背景探察&解决一、先看看v1加载慢,却要加载两次。二、接下来处理v1加载慢三、将需返回json数据四、修改Swagger页面结语背景 尽管.net6已经发布很久了,但是公...
    99+
    2022-11-13
  • MySQL千万级数据表的优化实战记录
    前言 这里先说明一下,网上很多人说阿里规定500w数据就要分库分表。实际上,这个500w并不是定义死的,而是与MySQL的配置以及机器的硬件有关。MySQL为了提升性能,会将表的索引...
    99+
    2022-11-12
  • vue项目打包优化的方法实战记录
    目录1.按需加载第三方库2.移除console.log3. Close SourceMap4. Externals && CDN5.路由懒加载的方式总结1.按需加载第...
    99+
    2022-11-13
  • 一次数据库查询超时优化问题的实战记录
    目录问题发现查找原因解决问题额外话:Transaction Timeout、Statement Timeout、Socket timeout 的区别它们三者的关系是在怎样的呢总结参数...
    99+
    2022-11-12
  • PHP底层的代码优化与性能提升实战
    PHP是一种广泛应用于Web开发领域的开源服务器脚本语言,其简洁易学、功能强大、能够和众多开源数据库完美搭配等优点,让它在Web应用开发中大放异彩。然而在开发过程中,往往需要考虑PHP性能的问题。本文将介绍PHP的性能优化与提升实战,同时附...
    99+
    2023-11-08
    性能 优化 PHP
  • Java工作中实用的代码优化技巧有哪些
    本篇内容介绍了“Java工作中实用的代码优化技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.类成员与方法的可见性最小化举例:如果...
    99+
    2023-06-30
  • 分享几个Java工作中实用的代码优化技巧
    目录1.类成员与方法的可见性最小化2.使用位移操作替代乘除法3.尽量减少对变量的重复计算4.不要捕捉RuntimeException5.使用局部变量可避免在堆上分配6.减少变量的作用...
    99+
    2022-11-13
  • Python Spring 开发技术日志记录:如何优化你的代码并提高应用程序的效率?
    Python Spring 是一种常用的开发框架,它可以帮助开发人员更快速地开发高质量的应用程序。但是,如果你不知道如何优化你的代码,应用程序的效率可能会受到影响。在本文中,我们将介绍一些技巧和工具,帮助你优化你的代码并提高应用程序的效率...
    99+
    2023-07-05
    spring 开发技术 日志
  • 从 Java 编程的角度看算法和接口打包的实现,如何更好地优化代码?
    在Java编程中,算法和接口是非常重要的概念。它们在实现中能够大大提高代码的效率和可读性,使得程序更加优化。本文将从Java编程的角度,探讨如何更好地实现算法和接口的打包,以优化代码。 一、算法的打包实现 算法是程序中最核心的部分,能够直接...
    99+
    2023-10-29
    编程算法 打包 接口
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作