【问题标题】:Comparisions using ternary operator vs if else vs switch case (Performance)使用三元运算符与 if else 与 switch case 进行比较(性能)
【发布时间】:2014-05-10 21:03:35
【问题描述】:

我正在搜索 if-else vs 三元运算符 vs switch case,但找不到包含所有三个比较的任何帖子。但是,我遇到了一些不错的帖子,发现 switch-case 比 if-else 更快。您可以检查以下一项:

Why switch is faster than if

然后我看到一些帖子说 if-else 和三元运算符之间没有性能差异。 最相关的帖子之一如下:

ternary operator vs. if statement: question of prettiness?

但是,我没有找到任何关于 switch-case 与三元运算符的相关帖子。

所以,我只想知道是否可以得出结论,switch case 比三元运算符和 if-else 都快?

我知道这是一个愚蠢的问题,但我想知道答案。

【问题讨论】:

  • switch 不一定比 if/else 快——它取决于几个因素,包括 switch 变量的类型(int vs String 等)、case 值是否连续以及有多少有案例。
  • 请注意:您确定要在此级别进行优化吗?这应该是最后的手段——当你优化了其他所有东西时……你的算法真的处于最佳状态吗?您是否分析过您的代码以查看瓶颈是否在您预期的位置?

标签: java performance if-statement switch-statement ternary-operator


【解决方案1】:

如果switch if-then-else 和if-then-else == ternary,那么switch ternary。

【讨论】:

  • 看来是这样... :) 感谢您回答我的一个愚蠢问题 :)
猜你喜欢
  • 2018-08-07
  • 2017-11-19
  • 2016-08-07
  • 2015-06-05
  • 2015-12-05
  • 2021-12-08
  • 1970-01-01
  • 2022-01-07
  • 2021-02-27
相关资源
最近更新 更多