分支较少可以用if/else 分支较多可以用switch 某些时候分支很多。需要把状态和操作都抽象出来。 使用Optional互斥条件表驱动互斥条件,表示几个条件之间是冲突的,不可能同时达成的。比如说一个数字,它不可能同时是4和2。在这种情况下用表驱动就非常合适,表驱动的核心是key-handler,拿某个key去对应某个handler,只要条件符合key,那么就执行对应的handler。嵌套条件
前言if…else是高级编程语言的必备功能。但如果现实中项目代码中的if…else过多,可能会影响代码的可读性、可维护性,且违反了编程规范中的单一职责原则和开闭原则。问题1:if…else过多问题表现if…else 过多的代码可以抽象为下面这段代码。其中只列出5个逻辑分支,但实际工作中,能见到一个方法包含10个、20个甚至更多的逻辑分支的情况。另外,if…else 过多通常会伴随着另两个问题:逻辑
转载 2023-07-11 12:21:21
221阅读
# 如何在Java代码中避免大量else if 在编写Java程序时,我们常常会面临大量的`else if`语句,这不仅使代码变得冗长而且难以维护。一个常见的场景是根据输入的条件执行不同的操作。本文将探讨几种有效的策略,帮助我们优雅地消除过多的`else if`语句,并提高代码的可读性和可维护性。 ## 问题描述 假设我们有一个简单的计算器程序,根据用户输入的操作符(如加、减、乘、除)执行
原创 10月前
51阅读
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言避免创建不必要的对象1. 引入2. 解决的一些建议1. 关于常量String的创建2. 对于静态工厂方法和构造器3. "昂贵的对象"4. 适配器5. 自动装箱拆箱3. 总结 前言最近在看《Effective Java》这本书,也顺便记录下书里的一些内容,有些看不懂的暂时先放着。避免创建不必要的对象1. 引入一般来说,程序
转载 2023-10-20 10:28:33
14阅读
java代码中如何对if和else进行优化,尽量不写if判断1、业务需求说明根据不同审批类型创建不同类型的表单,本项目共有36个审批类型,所以得写36个判断,如果后续还要添加审批类型,那就得继续添加if,这样增加了代码的冗余度,那能不能不用写if,直接根据传入参数,自动调用某种表单的创建方法,这里我采用了反射的技术来实现这一设想,具体如何实现请看下面代码2、审批类型说明approveId:审批类
转载 2023-07-11 12:21:37
52阅读
先来一张镇楼图感受一下 if else 的魔法吧。一、由一个几百行 if 引发的思考有个场景,50张字典表,需要为其他服务提供一个统一的接口来校验用户输入的字典表 id 是否合法。校验逻辑已经很清晰了,根据参数选择对应的表校验 id 是否存在。if("table_a".equals(table)) { // check id } if("table_b".equals(table)) { // c
  1. 获取要查看的进程的ID ps aux | grep xxx 2. 查看此进程下的线程信息top -H -p <pid>top -p <pid>      按shift+htop -Hp <pid>       3. 查看栈信息jstack <pid&gt
转载 2024-02-26 21:36:29
73阅读
前言前段时间在阅读别人所写的代码的时候 , 发现其中一些业务相关的方法体内 , 出现了比较多的if-else语句多层嵌套的情况 . 首先我个人不是不提倡写if-else语句 , 不得不说 , 很多时候 , 在写某些逻辑 使用if-else 去做判断 , 代码看起来还是十分直观的 , 但是如果滥用if-else , 形成多层嵌套或者形成, 其中每个case 还包含了大量的逻辑 , 此时从可读性来说
# 如何在Java避免大量的set方法 在Java中,使用大量的set方法进行对象属性的修改虽然直观,但往往会使代码变得繁琐且难以维护。本文将指导你如何使用构造函数和Builder模式来避免这种情况。以下是实现的流程: ### 流程步骤 | 步骤 | 描述 | | ---- | ------------------------------
原创 2024-09-04 06:11:14
99阅读
摘要:作者结合实际,总结了10条Java开发人员应该注意和避免的开发习惯,希望这里提供的信息能帮助到你! 当我看到成群的Java程序员在做下面这10件事情时,我真想大声喊“停”。 1.遍历结果集并且构建对象 1. while (result.next()) { 2. String name = result.getString(“name”); 3. String a
转载 2024-01-19 23:18:27
45阅读
目录前言方案一:提前return,去除不必要的else方案二:使用条件三目运算符方案三:使用枚举方案四:合并条件表达式方案五:使用 Optional方案六:策略模式方案七:表驱动法方案八:优化逻辑结构,让正常流程走主干 前言代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,针对代码中大量的 if/else ,优化的方案进行总结。方案一:提前return
在代码Review的时候,也许你老大会告诉你,字符串创建要放到循环之外。for(int i = 0; i < length; i++) { String s = new String(i); }为什么呢?因为在循环的时候,创建了太多的临时对象。每一次循环,都需要new String(),并赋值给新的对象s。我们可以作如下改进:String s; for(int i = 0; i &l
转载 2023-09-02 15:10:27
169阅读
## 优化大量 if elseJava 代码 在编写 Java 代码时,经常会遇到大量的 if else 语句,这会导致代码可读性差、维护困难等问题。本文将介绍如何优化这样的代码,并提供一个具体的示例。 ### 问题描述 假设我们有一个简单的图书管理系统,包含以下几个实体类:Book、User 和 Library。其中,Library 类负责管理图书,User 类代表图书的借阅者,Bo
原创 2024-01-17 04:46:40
107阅读
# Java代替大量if else的高效方法 在Java编程中,我们经常会遇到需要根据不同的条件执行不同逻辑的情况。传统的方法是使用大量的if-else语句,但这种方法不仅代码冗长,而且难以维护。本文将介绍几种替代if-else的高效方法,以提高代码的可读性和可维护性。 ## 使用策略模式 策略模式是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以互换使用。以下是使用策
原创 2024-07-16 07:06:16
194阅读
有人问,我的程序太多if else了,怎么办?让发过来看看,长这样。public void execute(boolean ba, boolean bb, boolean bc) { if (ba && bb && bc) { response = callApiByChannelName(getChannelNameForT
在编写 JS 代码时,经常会遇到逻辑判断复杂的情况。一般情况下,可以用 if/else 或 switch 来实现多个条件判断,但会出现一个问题:随着逻辑复杂度的增加,代码中的 if/else 和 switch 会越来越臃肿 if (status == 1) { // 逻辑1 } else if (s ...
转载 2021-08-30 16:09:00
255阅读
2评论
不说真实业务场景的设计模式就是耍流氓真实场景一:(直播)腾讯云直播api文档中,只支持填写一个接口回调地址,需实现多个回调场景逻辑真实场景二:(社交)Feed流产品,Title会有多个频道,类似关注、推荐、汽车、热门等真实场景三:(支付)APP支持、支付宝、招商银行等支付方式以上三个案例很容易看出来,采用if-else一招解决,快准狠,但是存在一些弊端,每新增一种支付方式、新的频道、新的事件都
转载 2023-07-11 12:16:22
527阅读
1)使用软引用阻止泄漏 在Java语言中有一种形式的内存泄漏称为对象游离(Object Loitering): public class LeakyChecksum{ private byte[] byteArray; public synchronized int getFileCheckSum(String filename){ int len = getF
我有一个Java功能,对海量数据进行操作可以是500兆字节。我必须把这个500兆字节的数据传递给Java函数,并在处理Java函数后返回数据。我的表格格式如下col1  col2 col3 col4 col5 col63     5    2     5    1   67   &nbsp
1.Map装接口,利用spring特性,构造方法,把接口所有的实现类初始化,后面再用键值对key来的对象,
原创 2022-09-02 15:42:21
82阅读
  • 1
  • 2
  • 3
  • 4
  • 5