【发布时间】:2014-07-26 01:22:53
【问题描述】:
在开始构建应用程序时,我盯着只需要考虑五个案例的 switch case 块。后来随着构建的进行,更多的案例浮出水面,这开始产生问题。我知道我可能一开始就设计错了,但如果这样的事情发生了变化,我该如何有效地解决这个问题?下面给出一个例子
从这里开始
switch case 1: /*do function1()*/ break;
case 2: /*do function2()*/ break;
后来,100个病例进来
switch case 1: /*do function1()*/ break;
case 2: /*do function2()*/ break;
....
case 100: /*do function100()*/ break;
我确信将这些情况转换为 100 如果条件不是一个很好的方法,那么有没有办法可以做到这一点?
请考虑上面代码中给出的函数现在是简单的数学函数。
【问题讨论】:
-
您可以提取所有这些块以分离具有清晰独特名称的方法。
-
根据您的代码,您可以使用
Map来存储函数(使用适当的接口)。 -
@Stultuske 谢谢,这样我就必须同时管理条件和方法,不是吗?
-
这是你的代码,所以你当然需要管理它。但是读几百个 if else if 语句会容易得多
标签: java switch-statement conditional-statements