原文:java优化if和switch,使用map代替条件判断

碰到个场景: 传入两个参数,通过对这两个参数的判断,返回一个对应的值。但是这两个参数的种类有很多,所以如果用if或者switch判断的话,代码会很多重复,也会很长,而且if使用过多复杂度太高,打包也不容易通过。 最后决定使用map,用过key值的匹配实现条件判断的效果,传入两个参数进行key匹配,返回对应的value值 优化前:使用switch, 代码客观性比使用if好一些,但是重复代码太多了,逻 ...

2022-04-13 15:45 0 613 推荐指数:

查看详情

Java Switch Case 条件判断

JavaSwitch Case 语句,可以理解为分支例子 假设打麻将有四个人 编号为 1 2 3 4 对应名字为 张三,李四,王五,赵六 数据结构 例子代码 输出 break 表示退出,当满足某个case的时候,停止下方其他case。 上面的执行流程为 如果不写 ...

Sat Feb 22 18:40:00 CST 2020 0 6849
java条件判断语句switch小结

  java的流程控制语句中,选择判断语句有两种if...else和switch。相对而言,switch在实际使用过程中需要注意的地方较多,有时会由于忘记它的一些语法特征,对其语法产生误解,从而导致一些错误。这里通过查阅资料和编码实践对switch做出一些小结。 一、switch的基本语法 ...

Wed Jan 03 23:59:00 CST 2018 0 8802
小酌重构系列[14]——使用多态代替条件判断

概述 有时候你可能会在条件判断中,根据不同的对象类型(通常是基类的一系列子类,或接口的一系列实现),提供相应的逻辑和算法。当出现大量类型检查和判断时,if else(或switch)语句的体积会比较臃肿,这无疑降低了代码的可读性。另外,if else(或switch)本身就是一个“变化点 ...

Mon May 16 01:08:00 CST 2016 2 2499
switch 中可以使用字符串当判断条件

switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换 ...

Fri Oct 21 07:19:00 CST 2016 0 12608
使用反射+策略模式代替项目中大量的switch case判断

我这里的业务场景是根据消息类型将离线消息存入mongoDB不同的collection中。其中就涉及到大量的分支判断,为了增强代码的可读性和可维护性,对之前的代码进行了重构。 先对比一下使用反射+策略模式前后的代码: 重构前: 重构后: 我们可以看到重构前的代码充斥着大量的分支 ...

Mon Sep 11 23:13:00 CST 2017 5 3396
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM