草庐IT

Switch-case

全部标签

java - 为什么在 if 语句中初始化字符串似乎与在 switch 语句中不同?

这个问题在这里已经有了答案:WhydoIgeta"variablemightnothavebeeninitialized"compilererrorinmyswitchblock?(1个回答)关闭3年前.我正在学习Java,我正在根据一些书籍示例编写简单的程序来查找一个月所在的季节。这两个类演示了两种测试值的方法:if/elseif语句和switch语句。我感到困惑的是用于保持季节的字符串。当我将它声明为Stringseason;它适用于if语句。但是使用switch语句,这样做会产生“局部变量season可能尚未初始化”错误。publicclassIfElse{publicstati

java - 有人不同意 : "using switch is bad OOP style"? 的说法吗

我已经看到它在stackoverflow上的多个线程/评论中编写,使用switch只是糟糕的OOP风格。我个人不同意这一点。在很多情况下,您无法将代码(即方法)添加到要打开的enum类,因为您无法控制它们,可能它们位于第3方jar文件中.在其他情况下,将功能放在枚举本身是一个坏主意,因为它违反了一些关注点分离的考虑,或者它实际上是其他东西的功能以及枚举。最后,开关简洁明了:booleaninvestable;switch(customer.getCategory()){caseSUB_PRIME:caseMID_PRIME:investible=customer.getSavingsA

java - 有人不同意 : "using switch is bad OOP style"? 的说法吗

我已经看到它在stackoverflow上的多个线程/评论中编写,使用switch只是糟糕的OOP风格。我个人不同意这一点。在很多情况下,您无法将代码(即方法)添加到要打开的enum类,因为您无法控制它们,可能它们位于第3方jar文件中.在其他情况下,将功能放在枚举本身是一个坏主意,因为它违反了一些关注点分离的考虑,或者它实际上是其他东西的功能以及枚举。最后,开关简洁明了:booleaninvestable;switch(customer.getCategory()){caseSUB_PRIME:caseMID_PRIME:investible=customer.getSavingsA

java - Android:如何从中创建 Switch 机箱?

publicvoidonItemClick(AdapterViewa,Viewv,intposition,longid){AlertDialog.Builderadb=newAlertDialog.Builder(CategoriesTab.this);adb.setTitle("SelectedCategory");adb.setMessage("SelectedItemis="+lv1.getItemAtPosition(position));adb.setPositiveButton("Ok",null);adb.show();}当单击ListView中的项目时,此时会显示一个警

java - Android:如何从中创建 Switch 机箱?

publicvoidonItemClick(AdapterViewa,Viewv,intposition,longid){AlertDialog.Builderadb=newAlertDialog.Builder(CategoriesTab.this);adb.setTitle("SelectedCategory");adb.setMessage("SelectedItemis="+lv1.getItemAtPosition(position));adb.setPositiveButton("Ok",null);adb.show();}当单击ListView中的项目时,此时会显示一个警

java - 带有 String 的 Java 7 switch 语句是否使用 equals() 方法?

Java7支持使用Strings进行切换,如下面的代码switch(month.toLowerCase()){case"january":monthNumber=1;break;case"february":monthNumber=2;break;default:monthNumber=0;break;}Java是否在每个String案例上调用equals()方法?或者它依赖于==或intern()?这是否等同于:Stringmonth=month.toLowerCase();if("january".equals(month)){monthNumber=1;}elseif("febr

java - 带有 String 的 Java 7 switch 语句是否使用 equals() 方法?

Java7支持使用Strings进行切换,如下面的代码switch(month.toLowerCase()){case"january":monthNumber=1;break;case"february":monthNumber=2;break;default:monthNumber=0;break;}Java是否在每个String案例上调用equals()方法?或者它依赖于==或intern()?这是否等同于:Stringmonth=month.toLowerCase();if("january".equals(month)){monthNumber=1;}elseif("febr

Django笔记二十三之case、when操作条件表达式搜索、更新等操作

本文首发于公众号:Hunter后端原文链接:Django笔记二十三之条件表达式搜索、更新等操作这一篇笔记将介绍条件表达式,就是如何在model的使用中根据不同的条件筛选数据返回。这个操作类似于数据库中ifelifelse的逻辑。以下是本篇笔记的目录:model和数据准备When和Case操作新增字段返回条件搜索条件更新条件聚合1、model和数据准备这篇笔记我们用到的model是Client,放在blog/models.py下以下是Client的model定义:classClient(models.Model):REGULAR='R'GOLD='G'PLATINUM='P'ACCOUNT_TY

Django笔记二十三之case、when操作条件表达式搜索、更新等操作

本文首发于公众号:Hunter后端原文链接:Django笔记二十三之条件表达式搜索、更新等操作这一篇笔记将介绍条件表达式,就是如何在model的使用中根据不同的条件筛选数据返回。这个操作类似于数据库中ifelifelse的逻辑。以下是本篇笔记的目录:model和数据准备When和Case操作新增字段返回条件搜索条件更新条件聚合1、model和数据准备这篇笔记我们用到的model是Client,放在blog/models.py下以下是Client的model定义:classClient(models.Model):REGULAR='R'GOLD='G'PLATINUM='P'ACCOUNT_TY

java - 如何自动将 if-else if 语句转换为 switch

在IntelliJ中是否有一个热键或简单的方法可以用switch替换if-elseif语句?我不希望手动将if-elseif语句转换为switch。我希望能够突出显示if-elseif语句并按下组合键或使用菜单按钮。 最佳答案 更新:正如@christopheml在对另一个答案的评论中指出的那样,“用Switch替换If”似乎在IntelliJ2018.1中消失了。已提交错误here.有名为“用Switch替换If”和“用If替换Switch”的IntelliJIntent。检查您的首选项以查看是否启用了这些选项。如果是这样,我希望