草庐IT

java - 在一个switch语句中,为什么所有的case都被执行了?

我有这个代码与switch我从这个post得到的声明,它工作得很好:StringgetOrdinal(finalintday){if(day>=11&&day但是,如果我将其更改为类似以下内容,它就会中断,因为除了case1之外的所有情况。被执行:staticStringgetOrdinal(finalintday){StringBuilderordinalBuilder=newStringBuilder();ordinalBuilder.append("");if(day>=11&&day");returnordinalBuilder.toString();}这会打印出2ndrdth

使用 class.getSimpleName() 的 Java switch 语句给出 Constant express required 错误

我正在尝试使用class.getSimpleName()来表达开关,但是它给了我一个错误:Constantexpressrequired我看到的答案建议将表达式变量声明更改为具有作为编译时常量表达式的初始值设定项。但是,在这种情况下这是不可能的。有没有一种方法可以使用class.getSimpleName()进行切换而不必对类名进行硬编码?示例代码publicclassClassA{publicstaticfinalStringTAG=ClassA.class.getSimpleName();...}publicclassClassB{publicstaticfinalStringTA

java - 可以在 java 中使用 switch(java.lang.Object) 吗?

我的应用程序需要具有String类型的switchcase语句。我需要这样的东西:Objectlist1="list1";Objectlist2="list2";Objectlist3="list3";Objectoption="list1";switch(option){caselist1://Dosomethingcaselist2://Dosomethingcaselist3://Dosomethingdefault://Dosomething}有可能吗?EDIT:Isitbettertouseswitchcasefornconditionsrathergoingwithifan

C#系列之switch语句

今天,我们将对于switch语句做一个较为简单的了解。在日后的Unity内部C#脚本的使用做好充分的准备。我们将通过一些实例展开今天的内容。1.基本语法switch(变量){//变量==常量,执行case和break之间的代码case常量:     满足条件之下的代码逻辑;    break;case常量:     满足条件之下的代码逻辑;    break;default:     如果上面case的条件不满足就会执行default中的代码。     break;}注意:此处default可以省略!2.可自定义常量charc='A';//1.必须初始化2.不能修改constcharc2='A

java - 在 switch-case 中使用枚举值的字符串表示

为什么不能在switchcase中将枚举值用作字符串?(或者这有什么问题:)Stringargument;switch(argument){caseMyEnum.VALUE1.toString()://Isn'tthisequalto"VALUE1"?//somethingbreak;caseMyEnum.VALUE2.toString()://somethingelsebreak; 最佳答案 您只能使用在编译时已知的字符串。编译器无法确定该表达式的结果。也许你可以试试Stringargument=...switch(MyEnum.

java string.contains 在 switch 语句中

如何将以下代码转换为switch语句?Stringx="userinput";if(x.contains("A")){//conditionA;}elseif(x.contains("B")){//conditionB;}elseif(x.contains("C")){//conditionC;}else{//conditionD;} 最佳答案 有一个方法,但不是使用contains。你需要一个正则表达式。finalMatcherm=Pattern.compile("[ABCD]").matcher("aoeuaAaoe");if(

java - 是否有用于在 Eclipse 中为 Java 枚举生成 switch 语句的模板或其他东西?

在Eclipse中是否有用于为Java枚举生成switch语句的模板或其他东西?这样当我得到一个枚举并且我想要一个包含所有值的switch时,我就不必自己写所有的东西了吗? 最佳答案 肯定有,至少在3.5中是这样。从这样的事情开始:switch(a.getType()){}您需要做的就是单击switch关键字并按CTRL+1。您应该会看到一个下拉菜单,其中包含“添加缺失的案例陈述”选项 关于java-是否有用于在Eclipse中为Java枚举生成switch语句的模板或其他东西?,我们在

java - Java 中的 switch 语句

Java中的switch语句有多少种可能?例如,如果我们要检查一个整数,有多少个caseblock是可能的? 最佳答案 您最有可能首先遇到的界限是每个类常量池中的最大条目数,即65535。这将允许几千个小复杂度的案例block。常量池包含每个在类中至少使用一次的数字或字符串文字的一个条目,但也包含一个或多个用于所有字段、方法和/或类引用的条目,因为这些条目代表其他常量组成,这些常量必须是也出现在常量池中。IE。方法引用条目由对方法签名的字符串条目的引用和对声明类的类条目的引用组成。类条目本身再次引用类名称的字符串条目。参见:Limi

java - 在 Java 中将正则表达式用于 switch 语句

voidmenu(){print();Scannerinput=newScanner(System.in);while(true){Strings=input.next();switch(s){case"m":print();continue;case"s":stat();break;case"[A-Z]{1}[a-z]{2}\\d{1,}":filminfo(s);break;case"Jur1":filminfo(s);break;//Fordebugging-thisworkedfinecase"q":;return;}}}似乎我的正则表达式已关闭,或者我没有在案例陈述中正确使用

Java 枚举 : Refactoring switch statements 'constant expression required' compile error?

我有一个类为我的应用程序声明常量publicclassGroupConstants{..publicstaticfinalintINTEGER_VALUE=1;publicstaticfinalintLONG_VALUE=2;publicstaticfinalintSTRING_VALUE=3;..}代码中有一组switch语句privatestaticObjectgetValue(StringstringValue,Parameterparameter)throwsInvalidPatternException{Objectresult=null;switch(parameter.g