三元运算符与if else与switch case的比较(性能)

5
我在寻找if-else与三目运算符以及switch case之间的比较,但是没有找到一篇文章包含这三者的比较。然而我找到了一些很好的文章,发现switch-case要比if-else更快,你可以查看以下链接:

为什么switch比if快

但是,我发现有些文章称if-else和三目运算符之间并没有性能差异。其中最相关的一篇文章如下:

三目运算符和if语句:漂亮问题?

然而,我没有找到任何有关switch-case与三目运算符之间的相关文章。
所以,我只想知道的是是否可以得出结论:switch case比三目运算符和if-else都更快?
我知道这个问题很傻,但我想知道答案。

1
switch并不一定比if/else更快——这取决于几个因素,包括switch变量的类型(int vs String等),case值是否连续以及有多少个case。 - assylias
只是一句话:你确定要在这个层面上进行优化吗?这应该是最后的手段——当你已经优化了其他所有东西时... 你的算法真的达到了最佳状态吗?你是否对代码进行了分析,看看瓶颈是否在你预期的地方? - Klaas van Gend
1个回答

9
如果 switch < if-then-else,且 if-then-else == ternary,那么 switch < ternary

1
看起来是这样... :) 谢谢您回答我一个愚蠢的问题 :) - Viraj Pai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接