在Java中,是否可以编写一个switch语句,其中每个case包含多个值?例如(虽然显然下面的代码不起作用):switch(num){case1..5:System.out.println("testingcase1to5");break;case6..10:System.out.println("testingcase6to10");break;}我认为这可以在ObjectiveC中完成,在Java中是否有类似的事情?还是我应该只使用if,elseif语句来代替? 最佳答案 Java没有这种东西。为什么不直接执行以下操作?pub
在Java中,是否可以编写一个switch语句,其中每个case包含多个值?例如(虽然显然下面的代码不起作用):switch(num){case1..5:System.out.println("testingcase1to5");break;case6..10:System.out.println("testingcase6to10");break;}我认为这可以在ObjectiveC中完成,在Java中是否有类似的事情?还是我应该只使用if,elseif语句来代替? 最佳答案 Java没有这种东西。为什么不直接执行以下操作?pub
担心我的Web应用程序的性能,我想知道“if/else”或switch语句中哪个在性能方面更好? 最佳答案 我完全同意应该避免过早优化的观点。但JavaVM确实有可用于switch()的特殊字节码。见WMSpec(lookupswitch和tableswitch)因此,如果代码是性能CPU图表的一部分,则可能会有一些性能提升。 关于java-Java中if/else与switch语句的相对性能差异是什么?,我们在StackOverflow上找到一个类似的问题:
担心我的Web应用程序的性能,我想知道“if/else”或switch语句中哪个在性能方面更好? 最佳答案 我完全同意应该避免过早优化的观点。但JavaVM确实有可用于switch()的特殊字节码。见WMSpec(lookupswitch和tableswitch)因此,如果代码是性能CPU图表的一部分,则可能会有一些性能提升。 关于java-Java中if/else与switch语句的相对性能差异是什么?,我们在StackOverflow上找到一个类似的问题:
所以,我正在研究这个有一些静态常量的类:publicabstractclassFoo{...publicstaticfinalintBAR;publicstaticfinalintBAZ;publicstaticfinalintBAM;...}然后,我想要一种基于常量获取相关字符串的方法:publicstaticStringlookup(intconstant){switch(constant){caseFoo.BAR:return"bar";caseFoo.BAZ:return"baz";caseFoo.BAM:return"bam";default:return"unknown";
所以,我正在研究这个有一些静态常量的类:publicabstractclassFoo{...publicstaticfinalintBAR;publicstaticfinalintBAZ;publicstaticfinalintBAM;...}然后,我想要一种基于常量获取相关字符串的方法:publicstaticStringlookup(intconstant){switch(constant){caseFoo.BAR:return"bar";caseFoo.BAZ:return"baz";caseFoo.BAM:return"bam";default:return"unknown";
切入正题,我重新创建了我的问题,因为它是不言自明的。这符合没有错误:switch(n){case1:NSLog(@"");NSString*aStr;break;default:break;}编译时出错,它只缺少NSLog():switch(n){case1:NSString*aStr;break;default:break;}它在编译时抛出错误“'NSString'之前的预期表达式”我错过了什么吗? 最佳答案 在普通的C语言中,这两种情况下都必须用括号括起来。我怀疑这可能会解决您的问题:case1:{NSLog(@"");NSSt
切入正题,我重新创建了我的问题,因为它是不言自明的。这符合没有错误:switch(n){case1:NSLog(@"");NSString*aStr;break;default:break;}编译时出错,它只缺少NSLog():switch(n){case1:NSString*aStr;break;default:break;}它在编译时抛出错误“'NSString'之前的预期表达式”我错过了什么吗? 最佳答案 在普通的C语言中,这两种情况下都必须用括号括起来。我怀疑这可能会解决您的问题:case1:{NSLog(@"");NSSt
将项目转换为使用ARC时,“switchcase在protected范围内”是什么意思?我正在将项目转换为使用ARC,使用Xcode4Edit->Refactor->ConverttoObjective-CARC...我得到的错误之一是开关盒中的“某些”开关上的“开关盒在protected范围内”。编辑,代码如下:错误标记在“默认”情况下:-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*CellIdentifi
将项目转换为使用ARC时,“switchcase在protected范围内”是什么意思?我正在将项目转换为使用ARC,使用Xcode4Edit->Refactor->ConverttoObjective-CARC...我得到的错误之一是开关盒中的“某些”开关上的“开关盒在protected范围内”。编辑,代码如下:错误标记在“默认”情况下:-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*CellIdentifi