【发布时间】:2014-05-10 21:03:35
【问题描述】:
我正在搜索 if-else vs 三元运算符 vs switch case,但找不到包含所有三个比较的任何帖子。但是,我遇到了一些不错的帖子,发现 switch-case 比 if-else 更快。您可以检查以下一项:
然后我看到一些帖子说 if-else 和三元运算符之间没有性能差异。 最相关的帖子之一如下:
但是,我没有找到任何关于 switch-case 与三元运算符的相关帖子。
所以,我只想知道是否可以得出结论,switch case 比三元运算符和 if-else 都快?
我知道这是一个愚蠢的问题,但我想知道答案。
【问题讨论】:
-
switch 不一定比 if/else 快——它取决于几个因素,包括 switch 变量的类型(int vs String 等)、case 值是否连续以及有多少有案例。
-
请注意:您确定要在此级别进行优化吗?这应该是最后的手段——当你优化了其他所有东西时……你的算法真的处于最佳状态吗?您是否分析过您的代码以查看瓶颈是否在您预期的位置?
标签: java performance if-statement switch-statement ternary-operator