减少if或switch

C/C++表驱动方法(避免使用大量if判断或Switch分支) C/C++表驱动方法,避免使用大量if判断或Switch分支,精简代码,提升代码架构。 阅读详情

减少if或switch

方式一:枚举


public enum Operator {

    ADD {
        @Override
        public int apply(int a, int b) {
            return a + b;
        }
    },

    MUL {
        @Override
        public int apply(int a, int b) {
            return a * b;
        }
    };

    public abstract int apply(int a, int b);

}

方式二:工厂模式

  1. 接口
    public interface Operation {
    
        int apply(int a, int b);
    
    }
    
  2. 实现
    public class AddOperation implements Operation{
        @Override
        public int apply(int a, int b) {
            return a + b;
        }
    }
    
    public class MultOperation implements Operation{
        @Override
        public int apply(int a, int b) {
            return a * b;
        }
    }
    
    
  3. 操作工厂
    public class OperatorHolder {
    
        public static final String OPERATION_ADD = "add";
    
        public static final String OPERATION_MUL = "multiply";
    
        static final Map<String, Operation> operations;
    
        static {
            operations = new HashMap<>(2);
            operations.put(OPERATION_ADD, new AddOperation());
            operations.put(OPERATION_MUL, new MultOperation());
        }
    
        public static int operate(int a, int b, String type) throws Exception{
            Operation operation = operations.get(type);
            if (operation == null){
                throw new IllegalArgumentException("illegal type " + type);
            }
            return operation.apply(a, b);
        }
    
    }
    

方式三:TODO

待补充

[工作流节点10] 获取多条数据并循环执行 —— 明道云批处理自动化实战 本文系统介绍了明道云工作流中"获取多条数据+循环执行"的批处理功能。该功能通过筛选数据集合并逐条处理,适用于批量通知、数据更新等场景。文章详细解析了功能配置方法,包括数据筛选、循环设置和异常处理,并提供了合同到期提醒等典型应用案例。同时强调了数据量控制、分批处理、错误处理等优化策略,帮助用户实现高效批量自动化。这一功能组合能将业务从单条处理升级为批量驱动,显著提升工作效率。 阅读详情

相关推荐

STM32之W5500网络通信_w5500 profinet

*初始化8个socket*/setSHAR(ConfigMsg.mac);/*配置Mac地址*/setSUBR(ConfigMsg.sub);/*配置子网掩码*/setSIPR(ConfigMsg.lip);/*配置Ip地址*/setGAR(ConfigMsg.gw);/*配置默认网关*/setRTR(2000);/*设置溢出时间值*/setRCR(3);/*设置最大重新发送次数*/

2501_90250923的博客 1461

使用jdk8Function减少if或Switch的判定案例

使用jdk8Function减少if或Switch的判定案例

qq_44824400的博客 444

BUSCO评估基因组的完整性

因为数据库收集的时候找的就是在不同的物种间都是单拷贝的基因,所以说在评估的物种里面应该也是单拷贝的状态才对。基因组层面评估:先去基因组上预测这些基因,再去做评估,如果说给他是一个注释好的基因集,这个时候提供的是一个蛋白集合,它就直接是去进行同源搜索,再去评估,看BUSCO数据库里面的这些单拷贝基因有或者无;首先,tblastn也是同源搜索,同源搜索之后,去对转录本进行读码框预测,预测完的结果还是去进行hmmsearch的搜索(hmmsearch是做蛋白质结构域搜索的),最终拿到BUSCO评估结果。

qq_64400864的博客 2961

[C]C语言编码建议1:减少if或switch条件判断

减少if或switch条件判断: 方法: 1.1:用if return 结构(减少else); 1.2:用预设一个if结果+if的结构(减少一个else); 1.3:用设表+for循环的方式,减少if分支(大量的):这种本质上没有减少实际的if分支,只是把编码数量减少了而已,唯一的坏处是这种方式sourceinsight无法定位到具体函数在哪调用。 状态机的实现原理其实就是表+for循环原理,好...

小蜗牛之家 833

国民技术N32G45X低功耗问题之更改全局变量和栈在RAM中的地址

最近项目中用的MCU是国民技术的N32G45X,MCU的资源很丰富,RAM也很大,配套的库和例程也比较全,用起来还是不错的,但是在调试低功耗的时候还是费了不少劲。 首先由于项目低功耗需要,只能选择停机模式2(STOP2)。根据数据手册的描述,在此模式下外部低速时钟开启, RTC运行, R-SRAM保持,所有I/O状态保持,独立看门狗处于关闭状态,25℃的条件下电流为10个微安。 用的这款MCU的RAM是144KB,分为SRAM(128KB)和R-SRAM( Retention SRAM – 16KB),如果

狂想家 2486

考虑风和浪的影响的旋筒帆船航线优化方法研究

针对旋筒帆船进行航线优化的实现方法,包括升阻力系数的数值模拟、升阻力系数的多元非线性回归建模、旋筒帆船6DOF摇荡运动建模分析以及考虑风、浪影响的旋筒帆船的航线优化研究。

m0_63225885的博客 1164

js 减少嵌套 if..else 或 switch case

function doSomething(){ console.log('执行方法') } let a = 6 if(a===6){ doSomething()} //等同于 a===6 && doSomething() //如果满足某个条件执行的方法 if(a !== 5){ doSomething()} //等同于 a===5 || doSomething() //如果不满足某个条件执行的方法 ...

m0_50243859的博客 222

QuickFix Java 讲解(一)概述、下载方法,和协议内容

本系列力求手把手教你怎样利用QuickFix Java 搭建自己的 FIX 协议收法平台,以及其中的注意事项。 所有源码的地址(免费): https://github.com/zongzhec/QuickFixPractise 1. 什么是FIX,QuickFix,Quick Java? 1.1. 什么是FIX 官网以及其他翻译自官网的帖子都太官方了,这里我们设想一个情景: 你是一个交易员,现在客户打电话来让你下个单买点股票。你啪啪啪的在你的机器上熟练地输入了下单指令。系统显示:成...

4574

if结构和switch结构的效率区别

if结构和switch结构的效率区别

seimeii的博客 2021

【机器学习-18】特征筛选:提升模型性能的关键步骤

我们将介绍不同类型的特征筛选方法,包括基于统计的方法、基于模型的方法和嵌入式方法等,并详细解释每种方法的原理和适用场景。通过特征筛选,我们可以减少数据集的维度,降低模型的复杂度,提高模型的泛化能力,并加速模型的训练过程。通过选择适当的特征筛选方法,我们可以减少模型的复杂度,提高模型的泛化能力,并加速模型的训练过程。然而,并非所有的特征都对模型的性能提升有所贡献,有些特征甚至可能是冗余的、噪声较大的或者与目标变量无关的。我们的目标是通过特征筛选选择出对欺诈检测最有用的特征,以提高模型的预测精度。

qq_38614074的博客 1万+

高频网络协议与编程IO相关面试基本问题和知识点整理

网络IO相关基本高频面试基本问题和知识点整合

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 173万+

Java:分支结构if,switch,switch穿透性以及案例

Good good study,day day up~

m0_68783582的博客 815

【计算机视觉 | MMDetection】关于mmdetection如何计算参数量、计算量和速度FPS

【计算机视觉 | MMDetection】关于mmdetection如何计算参数量、计算量和速度FPS

wzk4869的博客 3022

java代码怎么减少IF判断_java如何消除太多的if else判断示例代码

1.简介if判断语句是很多编程语言的重要组成部分。但是,若我们最终编写了大量嵌套的if语句,这将使得我们的代码更加复杂和难以维护。让我们看看能否使用别的方式来做呢。设计模式是为了更好的代码重用性,可读性,可靠性,可维护性,它有六大原则:单一职责原则(Single Responsibility Principle,简称SRP):该原则是针对类来说的,即一个类应该只负责一项职责.开放--封闭原则(Th...

weixin_39842955的博客 1085

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java-Annotation的一种用法(消除代码中冗余的if/else或switch语句)

Java-Annotation的一种用法(消除代码中冗余的if/else或switch语句) 1.冗余的if/else或switch ​ 有没有朋友写过以下的代码结构,大量的if/esle判断,来选择不同的执行方式 if(type==1001){ return decodeMsg1001(msg); }else if(type==1002){ return decodeMsg1002(msg); } ..... ​ 或者上面的代码也是可以转换成相应的switch语句来执行,结构如下所示: swit

jintian_minttian的博客 287

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java8 IF ELSE IF 优化

Java8 IF ELSE IF 优化现象解决方式if else ifswitch case弊端Java8的实现 现象 在程序中总会看到或者碰到很多根据key判断要执行的方法代码等等, ![流程示意图](https://img-blog.csdnimg.cn/2020070413003275.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RjM

Dc253061007的博客 6099

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【JAVA】优化if else的几种方式

【JAVA】优化if else的几种方式

qq_46940224的博客 2672

告别冗长 if...else 的多种方法

在书写代码时,应该尽量避免多层次链式的if...else if...else,本文讲述了6种优化方法!

weixin_52648900的博客 2296

如何避免冗长的if-else/switch分支判断代码

前言 有没有同学遇到过一个方法中几十个的if/else或者switch判断,然后根据判断处理业务逻辑。一个方法几百上千,甚至几千行代码?有没有同学入职刚接手项目发现代码注释写着:“同学,听我的,别动这个代码,你改不动。因为做为作者的我,自己也改不动?”,然后,就只能望码(yang)兴叹? 注:为简化代码数量,未做完善的条件判断!开发时请编写完善的判断。 if-else分支判断逻辑 以商品折扣活动来说,不同的商品折扣活动会有不同的价格计算方式。 public int getPrice(Orde

ymz19881019的专栏 627

使用对象代替 if 及 switch

使用对象代替 if 及 switch

半夏_2021的博客 1224

JS之使用策略对象,减少if判断语句

在开发过程中,前端与后端进行接口联调是必不可少的环节。 后端是把数据存储在数据库里的,基于尽量减少内存占用的原则,对于一些状态值,他们通常会选择使用数值而非字符串进行存储。就比如操作、上传、在线等状态值,后端在数据库里储存这个状态值时,会用0和1来代替文字表示。 当前端拿到接口,想要把这些状态展示到页面上时,就得从拿到的接口里获取相应的字段,比如status,来进行转化,判断用户到底是哪种状态。 面对这种情况,我们常用的转化方法可能就是这样: if(status == 0) { retur

log22_rain的博客 558

写 JS 逻辑判断,不要只知道用 if-else 和 switch(转载)

文章来自博客园前端小蜜蜂 如何优雅的写判断 我们在编写 JS 代码时,经常会遇到逻辑判断复杂的情况。一般情况下,可以用 if/else 或 switch 来实现多个条件判断,但会出现一个问题:随着逻辑复杂度的增加,代码中的 if/else 和 switch 会越来越臃肿。本文将带你尝试写出更优雅的判断逻辑。 比如说下面这样一段代码: const onButtonClick = (status) => { if (status == 1) { sendLog('processing')

shadowfall的博客 278

任何语言都可以用数组,列表或字典来代替选择语句

相信大家对众多选择判断语句都感到很厌烦,一大堆的 if something:do something() else: do something,  或者是 switch(something):   case st1:do1   case st2:do2   ...   case stn:don 谁看了都会烦。不仅增加了巨大的代码量,而且不

ielnvnh的专栏 989

java返回if前的指令_java如何消除太多的if else判断示例代码

1.简介if判断语句是很多编程语言的重要组成部分。但是,若我们最终编写了大量嵌套的if语句,这将使得我们的代码更加复杂和难以维护。让我们看看能否使用别的方式来做呢。设计模式是为了更好的代码重用性,可读性,可靠性,可维护性,它有六大原则:单一职责原则(Single Responsibility Principle,简称SRP):该原则是针对类来说的,即一个类应该只负责一项职责.开放--封闭原则(Th...

weixin_29153859的博客 112

计算机语言中常用的if语句,优雅的编程「If语句」

随着项目代码量的增多,如何优化项目代码的健壮性,是一直萦绕在脑海里,却没有停下来好好考虑的事情。总会遇到某一段函数的变量对象就突然找不到属于它的方法了,排除半天,发现参数不知道什么时候变成了undefined。而对于书写if(){}总觉得性价比不高,书写麻烦,占用空间,丑!于是总结许多经常需要写 if语句,但可以用其他代替的情况。主要是变量赋值判断,函数执行判断,多种条件判断。♨ if 条件语句...

weixin_39800918的博客 2826

使用反射优化代码,省去大量if else语句

当一个类中有多个方法时,需要通过指定的参数,去对应调用相应的方法。一般会使用if else语句或者switch语句,十分冗余,后期类的方法增加时,还需改动代码。很实用的方法,但是可能降低效率.....

m0_52238102的博客 285
上一篇: JAVA内存溢出处理
下一篇: JAVA堆中的对象结构
strap
博客等级 码龄3年 60粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值