java 判断条件过多怎么办?有啥好的解决办法吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 判断条件过多怎么办?有啥好的解决办法吗?相关的知识,希望对你有一定的参考价值。

比如一个类中的某个方法,传一个参数,要判断这个参数是不是符合某个选项。比如有几百种选项,那怎么办呢?
难道真的要这么写吗?:
if(param == ‘1’)
//do somthing
else if(param == ‘2’)
//do somthing
else if(param == ‘3’)
//do somthing
else if(param == ‘4’)
//do somthing
else if(param == ‘5’)
//do somthing
..........//300
else
//不符合条件

还有好点的解决办法吗?

一个方法是用switch;
还有一个方法是建立两个数组,一个是你对应的值,一个是你想转换的值,例子如下:
char x1[]='b','q','t','m','i','c','a','e','l';
char x2[]=' ',',','!','l','e','a','c','i','m';
for(j = 0;j < 9;j++)
if(a == x1[j])
st1[i] = x2[j];
break;
追问

这个do something基本都一样,可能有极个别的有点小差别。基本就是从数据库中查出来一个参数,然后再向数据库中插入一条数据,我没有实际测过,但觉得if()else if()... 多了之后怕会影响效率。switch case对效率来说不会有什么问题吗?求解答~

追答

这个和if差不多的。。。只是这个用起来不是很好用

参考技术A 一般有这么多条件,//do somthing多数是类同的,可以在这里面做规范,比如把参数提取出来做成数组... 参考技术B 赞同用两个数组的方法。如果你是在编写实际需求过程中遇到什么问题,你可以将说一下,你的do something究竟是什么,我们也好帮你解决啊。不然只能依据具体需求来写咯~~追问

这个do something基本都一样,可能有极个别的有点小差别。基本就是从数据库中查出来一个参数,然后再向数据库中插入一条数据,我没有实际测过,但觉得if()else if()... 多了之后怕会影响效率。switch case对效率来说不会有什么问题吗?求解答~

参考技术C int a = Integer.parseInt(param) switch 的参数不支持String类型,java 7好像可以

switch(a)
case 1:do somthing;break;
case 2:do somthing;break;
case 3:do somthing;break;
case 4:do somthing;break;
参考技术D 这得根据具体的业务来想解决办法 就你写的这个也有解决办法 就是改 需求 改了需求就不要这么多的判断了

如何编写 Yii 扩展?有啥好的参考吗?

【中文标题】如何编写 Yii 扩展?有啥好的参考吗?【英文标题】:How to write Yii extensions? Any good reference?如何编写 Yii 扩展?有什么好的参考吗? 【发布时间】:2012-05-23 18:48:08 【问题描述】:

有没有人知道关于如何编写 Yii 框架扩展的任何好的参考资料?我一直在网上搜索,我找不到任何东西。

如果没有这样的事情,我需要采取哪些步骤(一般)?

【问题讨论】:

ifdattic.com/create-yii-extension-by-example-eprism 【参考方案1】:

看官方教程

http://www.yiiframework.com/doc/guide/1.1/en/extension.create

我认为这对于创建 Yii 扩展程序来说已经足够了,也是一个好的开始

【讨论】:

这正是我想要的。我想知道为什么我找不到它...谢谢 来自核心开发者的另一个论坛帖子:yiiframework.com/forum/index.php/topic/…

以上是关于java 判断条件过多怎么办?有啥好的解决办法吗?的主要内容,如果未能解决你的问题,请参考以下文章

本人初学Java,有啥好的图形验证码推荐吗?

easyui datagrid导出Excel 有啥好的解决方法吗

用opencv实现动检,光照变化有啥好的解决办法啊?

有啥好的办法解决 docker 容器与宿主机时间不同步的问题

使用dapper时动态拼接查询sql有啥好的方法吗

PowerMock 有啥好的替代品吗?