java 优化switch_Java中 switch-case 如何优化?

白色玫瑰 程序猿

时间: 2023-05-22 阅读: 1 字数:2483

{}
代码样式如下:switch(code) {case 1://调用方法method1();break;case 2://调用方法method2();break;case 3://调用方法method3();break;case 4://调用方法method4();break;case 5://调用方法method5();...

目录

代码样式如下:

witch(code) {

case 1:

//调用方法

method1();

break;

case 2:

//调用方法

method2();

break;

case 3:

//调用方法

method3();

break;

case 4:

//调用方法

method4();

break;

case 5:

//调用方法

method5();

break;

case 6:

//调用方法

method6();

break;

case 7:

//调用方法

method7();

break;

case 8:

//调用方法

method8();

break;

case 9:

//调用方法

method9();

break;

case 10:

//调用方法

method10();

break;

case 11:

//调用方法

method11();

break;

case 12:

//调用方法

method12();

break;

case 13:

//调用方法

method13();

break;

case 14:

//调用方法

method14();

break;

case 15:

//调用方法

method15();

break;

case 16:

//调用方法

method16();

break;

case 17:

//调用方法

method17();

break;

default:

//调用方法

methodDefalut();

break;

}

这段switch代码已经是很整洁了,但由于条件太多,switch语句就变得很长了!而且这样写不符合开闭原则,每增加一个条件,就又要修改这段代码!可读性也会随着长度增长而变差!

所以,我想请教各位大佬,如何写一个优雅的代码来替换上面这段代码?

我有已经想到两种方法:

(1)使用容器,每个方法都换成一个类,但这样的话,就要多加 17个类!(如果能解决类的数量过多问题,就好了)

(2)使用反射,但是反射的速度太慢了,这段代码是放在一个接口里面的,性能太差会影响接口吞吐速率!

我们可以看到上面两种方法都有一些缺点,所以我想请教各位,有没有什么更好的方法?谢谢!

原文地址:https://blog.csdn.net/weixin_27889245/article/details/114237211?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168474933716800184119697%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168474933716800184119697&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-22-114237211-null-null.142^v87^control_2,239^v2^insert_chatgpt&utm_term=java%E4%BC%98%E5%8C%96

本文章网址:https://www.sjxi.cn/detil/4bcaa502fbf54e9bb48e0b8f4bc347fb

打赏作者

本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!

最新评论
当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号

×

(穷逼博主)在线接单

QQ: 1164453243

邮箱: abcdsjx@126.com

前端项目代做
前后端分离
Python 爬虫脚本
Java 后台开发
各种脚本编写
服务器搭建
个人博客搭建
Web 应用开发
Chrome 插件编写
Bug 修复