这是一个基本的疑问,我没有从我的搜索得到任何正确的答案.在android中哪个条件语句更快?如果还是Switch和是什么原因?Android编码指南本身建议使用Switch而不是If.请澄清我的疑问.
有几个原因我会考虑使用开关而不是if.Actually它取决于.
1.速度
switch语句可能比if更快.我写的可能是因为它取决于你的用例.它能够生成类似值的函数 - >函数来调用你范围内的每个值,并使用一次查找找出代码路径.这通常比为if链生成的指令更快,因为if中的每个表达式都是单独计算的.
2.易于维护
当您需要组合案例时,开关看起来更清洁.如果会很快失控.与if相比,易于在switch中添加新案例.
另一个重点是 if-else或switch都不是直接汇编语句.所以这取决于编译器将代码转换为汇编的方式.
以最易读的方式编写代码,让编译器处理其余的事情.编译器通常将swith语句转换为查找表,从而获得一些优势.如果您有一些"可能"和"不太可能"的条件,那就相反了
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |