【发布时间】:2015-09-06 15:42:56
【问题描述】:
在最近的 Java 面试问题中,询问了 if then else 的问题,并提出问题的方式是,如果给你 1000 if else 类似的条件
if(condition 1){
task 1
}else if (condition 2){
task 2
}else if (condition 3){
task 3
}
...
else if (condition 1000){
task 1000
}
我被要求即兴创作上面的代码。我给出的答案是可以使用 switch 即兴创作。但面试官不满意,要求换一种方法。但我无法解释。所以我想知道是否有更好的方法来做到这一点。
抱歉问了这么愚蠢的问题,但我真的很想知道答案
【问题讨论】:
-
在这种情况下“即兴创作”是什么意思?此外,stackoverflow.com/questions/1199646/… 的可能重复
-
你的意思是改进吗?
-
请具体说明什么您想要改进。性能?可读性?可维护性?对我来说,这看起来像是 Chain of Responsiblity 的典型案例
-
@user3403462 任务是什么?阅读价值观?或者它可以是任何东西?
-
@dhke 您的链接是针对另一个问题的。在这个链接中,唯一的条件是对象相等,而在 OP 中它是另一个条件,可以是任何东西。我个人会将所有条件放入数据库并使用一些规则引擎。但这绝对不是“面试”的答案。
标签: java if-statement switch-statement