草庐IT

lv_switch

全部标签

java - 在 switch 语句中使用 "default"case 是一个好习惯吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭2年前。Improvethisquestion当我使用开关时(在本例中为Java),如果需要,我通常会使用默认大小写。我的一位老师告诉我,当他以前用Pascal编程时,这种情况并不存在。他说,如果它不存在于Pascal中,那么它应该不是什么好用的东西。我的问题是:使用默认大小写是错误的吗?它在内部是如何运作的?提前致谢。

java - 当多个 Cases 做同样的事情时避免 Switch 语句冗余?

我在一个switch中有多个case做同样的事情,像这样:(这是用Java写的)case1:aMethod();break;case2:aMethod();break;case3:aMethod();break;case4:anotherMethod();break;有什么方法可以将案例1、2和3合并为一个案例,因为它们都调用相同的方法? 最佳答案 case1:case2:case3:aMethod();break;case4:anotherMethod();break;这是可行的,因为当它恰好是情况1(例如)时,它会进入情况2(没

java - 为什么一个不完整的 switch 表达式编译成功

试用JDK/12EarlyAccessBuild20,其中JEP-325SwitchExpressions已集成为预览功能。表达式的示例代码(在JEP中也是如此):Scannerscanner=newScanner(System.in);Dayday=Day.valueOf(scanner.next().toUpperCase());inti=switch(day){caseMONDAY,TUESDAY,WEDNESDAY:break0;default:System.out.println("Secondhalfoftheweek");//ERROR!Groupdoesn'tconta

java - 为什么单个 "if"比 "switch"慢?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whatistherelativeperformancedifferenceofif/elseversusswitchstatementinJava?给定以下两种方法:publicstaticintuseSwitch(inti){switch(i){case0:return1;default:return0;}}publicstaticintuseIf(inti){if(i==0)return1;return0;}测试表明switch的执行速度比if版本稍快(在我的机器上每次调用1.4纳秒)。我一直认为,只有在

java - 带字符串的 switch 不仅仅是语法糖吗?

这个问题在这里已经有了答案:HowisStringinswitchstatementmoreefficientthancorrespondingif-elsestatement?(3个答案)关闭7年前。从Java1.7开始,字符串可以与switch语句一起使用,这让我想知道一些事情。整数值的switch语句被转换为跳转表,这比简单地对运行时计算的整数进行if检查更快;可以对字符串进行类似的优化吗?还是这只是语法糖?

java - Switch 似乎比 if 慢

我对switch的速度很好奇,认为它“非常”快,但我有一个测试用例似乎显示单个开关大约快4if测试,当我期望(没有充分理由)它与1次测试一样快时。下面是我写的两个比较switch和if的方法:publicstaticintuseSwitch(inti){switch(i){case1:return2;case2:return3;case3:return4;case4:return5;case5:return6;case6:return7;default:return0;}}publicstaticintuseIf(inti){if(i==1)return2;if(i==2)return

java - 为什么 java switch 语句不能处理 null,因为它有一个 "default"子句?

这个问题在这里已经有了答案:Whydoesn'tStringswitchstatementsupportanullcase?(9个回答)关闭5年前。为什么javaswitch语句不能处理null,因为它有一个“默认”子句?例如,如果你有类似的东西switch(value){caseVAL1:do_something1();break;caseVAL2:do_something2();break;default:do_something3();}“默认”不应该处理任何其他值,例如null?

java - 在 Android 中更改 Switch 的颜色

我正在尝试更改Android中开关的颜色。我意识到我需要新的9patches。我去了http://android-holo-colors.com/然后选择我的颜色并选择(切换果冻bean)。要使用SwitchJellyBean,我必须使用:https://github.com/BoD/android-switch-backport.要将它导入我的项目,我必须添加:@style/Widget.Holo.CompoundButton.Switch到我的样式,然后在xml中我必须像这样使用开关:现在所有的开关都可以正常工作了。接下来,我将androidholo颜色生成器输出的所有内容放入适当

java - 具有多种情况的 Thymeleaf switch 语句

简而言之我想在thymeleaf中使用switch语句,一旦将逻辑写入多个case语句。详细我想在thymeleaf中实现这个switch(status.value){case'COMPLETE':case'INVALID'://printexamisnotactivebreak;case'NEW'://printexamisnewandactivebreak;}我当前的thymleaf代码因运行时错误而失败但是上面的代码失败并报错org.thymeleaf.exceptions.TemplateProcessingException:Couldnotparseasexpression

java - 何时在 Java 中使用 switch 语句

我很欣赏任何可以通过switch语句完成的事情,也可以通过ifelse语句来完成。但是对于何时应该使用switch而不是ifelse语句是否有风格规则。 最佳答案 好吧,在我看来,switch在很多情况下感觉比if/elseif梯子“更轻”。基本上,您的代码中没有太多带有大括号和圆括号的语法。也就是说,switch继承了C的语法。这意味着您有break并且只有一个变量作用域,除非您引入新block。编译器仍然能够将switch语句优化为查找表,并在处理枚举时对文字执行编译时检查。因此,我建议如果您要处理数字或枚举类型,通常最好使用s