switch-statement相关内容

Java的交换机是如何工作的?

Java的switch语句如何在幕后工作?它如何比较正在使用的变量的值与案例部分中给出的值?它是否使用 == 或 .equals(),还是完全不同的其他内容? 我主要对前1.7版本感兴趣。 解决方案 两者都没有。 它使用 lookupswitch JVM指令,本质上是一个表查找。看一下以下示例的字节码: public static void main(String ... a ..
发布时间:2018-12-04 12:59:33 Java开发

"当"声明与Java“切换”声明

Kotlin中的模式匹配很好,并且它在90%的用例中都没有执行下一个模式匹配。 在Android中,当数据库更新时,我们使用Java开关属性继续下一个案例如果我们不休息让代码看起来像这样: switch (oldVersion){ 案例1:upgradeFromV1(); 案例2:upgradeFromV2(); 案例3:upgradeFromV3(); } ..
发布时间:2018-12-04 12:27:14 Java开发

switch表达式不能是float,double或boolean

为什么开关表达式不允许 long , float , double 或 boolean 值?为什么只允许 int (以及自动提升为 int 的那些)? 解决方案 即使可行,浮动和双重也难以可靠使用 - 不要忘记在float / double上执行完全相等的匹配通常是一个坏主意无论如何,由于表示的性质。 对于布尔值,为什么不使用如果开始? 我不记得永远想要打开这些类型中的任何一种 ..
发布时间:2018-12-04 12:04:15 Java开发

如何在switch中使用null

整数i = ... switch(i){ case null: doSomething0(); 休息; } 在上面的代码中,我不能在switch case语句中使用null。我怎么能这样做? 我不能使用默认因为那时我想做别的事情。 解决方案 使用Java中的 switch 语句是不可能的。在开关之前检查 null : if(i == null) ..
发布时间:2018-11-29 20:12:19 Java开发

为什么你的switch语句数据类型不能长,Java?

以下是 Sun的Java教程的摘录: 开关使用字节,短, char , int 原始数据类型。它也适用于枚举类型(在类和继承中讨论)和一些“包装”某些基本类型的特殊类: Character , Byte ,短,整数(在简单数据对象中讨论)。 必须有充分的理由说明不允许使用 long 原始数据类型。有谁知道它是什么? 解决方案 我认为在某种程度上它可能是基于典型切换使用的任意决定 ..
发布时间:2018-11-28 21:20:42 Java开发

在java中使用switch case中的string

我需要将以下如果更改为开关 - 案例在检查字符串时,以提高圈复杂度。 字符串值=某些方法x; if(“apple”.equals(value)){ method1; } if(“carrot”.equals(value)){ method2; } if(“mango”.equals(value)){ method3; } if(“orange”.equ ..
发布时间:2018-11-28 00:48:39 Java开发

对一个switch case语句使用两个值

在我的代码中,程序会根据用户输入的文本执行某些操作。我的代码如下: switch(name){ case text1:{ // blah 休息; } case text2:{ // blah break; } 案例text3:{ // blah break; } 案例text4:{ // blah break; } 然而,案例中的代 ..
发布时间:2018-11-27 22:04:17 Java开发

Java switch语句多种情况

试图找出如何为Java switch语句使用多个案例。这是我正在尝试做的一个例子: switch(变量) { case 5..100: doSomething(); 休息; } 与必须这样做: 开关(变量) { 案例5: 案例6: 等 案例100: doSomething(); 休息; } 任何想法,如果可能,或者有什么好的选择 ..
发布时间:2018-11-27 12:08:00 Java开发

开关盒中的变量范围

我想我不明白范围在切换情况下是如何工作的。 有人可以向我解释为什么第一个代码不能编译而是第二个代码是吗? 代码1: int key = 2; switch(key){ case 1: String str =“1”; return str; 案例2: String str =“2”; //根据Eclipse重复声明“str”。 return str; } ..
发布时间:2018-11-27 11:05:21 Java开发

为什么切换比if更快

我在java中发现很多书说switch语句比if语句快。但是我没有找到哪里说为什么开关比更快。 示例 我有一种情况我必须选择两个中的任何一项我可以使用以下任何一种方式 开关(项目) ){ case BREAD: //吃面包 休息; 默认: //离开餐厅 } 或使用if语句,如下所示 if(item == BREAD){ //吃面包 } ..
发布时间:2018-11-26 14:51:29 Java开发

切换不间断

我有一些switch语句,如下所示。请注意,没有休息。 Findbugs仅在第二个案例陈述中报告错误。 错误是:在一个案例落到下一个案例的地方找到Switch语句。 switch(x){ 案例0: //代码 案例1: //代码 案例2: //代码 } 解决方案 Findbugs是如果在第一个代码中有任何代码(尽管有时候它可以用来产生良好的效果),那 ..
发布时间:2018-11-26 13:31:36 Java开发

为什么我们需要突破案例陈述?

为什么编译器不会在交换机中的每个代码块之后自动放置break语句?这是出于历史原因吗?您希望何时执行多个代码块? 解决方案 有时将多个案例与相同的代码块相关联会很有帮助,例如 案例'A': 案例'B': 案例'C': doSomething(); 休息; 案例'D': 案例'E': doSomethingElse(); 休息; 等。只是一个例子。 ..
发布时间:2018-11-26 12:22:28 Java开发

为什么我不能在String上使用switch语句?

这个功能是否会被放入以后的Java版本? 有人可以解释为什么我不能这样做,就像Java的技术方法一样code>开关语句有效吗? 解决方案 用切换语句字符串案例已在 Java SE 7 中实施,至少16年首次申请后。明确的延迟原因没有提供,但它可能与性能有关。 在JDK 7中的实现 该功能有现已在 javac 以“使用字符串 案例声明中的常量,使用“process; 一个干 ..
发布时间:2018-11-26 12:03:23 Java开发

分组TableView

我想要创建一个看起来像这个图像的表视图!谁可以告诉我一个例子或说我该怎么做? 解决方案 这是关于自定义分组UITableView的一个很好的教程,尽管它确实假设您精通图像编辑器创建各种自定义图像。 ..
发布时间:2018-11-02 14:33:19 移动开发