秃德6*_*666 3 java switch-statement memory-efficient
我想知道在 switch 语句中使用break或return时的一些区别。哪个更有效率?有人可以向我解释一下吗?非常感谢。代码如下:
public void foo(){
int i = 10;
switch (i) {
case 1: {
//code here
break; //or return;
}
case 2: {
//code here
break; //or return;
}
// code code
// code code
// code code
case 10:{
//code here
break; //or return;
}
default:{
//code here
break; //or return;
}
}
}
Run Code Online (Sandbox Code Playgroud)
两者截然不同——试图在效率方面比较它们简直是无意义的。中断终止 switch 后续子句的执行,并在 switch 块之后继续执行。返回终止当前方法的执行并将控制权返回给调用方法。它们唯一的共同点是代码不会失败以执行任何进一步的情况。
一般来说,我会对使用 switch 语句的 return 持谨慎态度,不是因为对性能有任何影响,而是因为它使推理代码的行为变得更加困难。(我还认为 Java 中的 switch 语句几乎从不需要,它在程序中的存在通常表明设计失败,但这是另一个问题)
| 归档时间: |
|
| 查看次数: |
12495 次 |
| 最近记录: |