Java的开关如何在后台运行?

Java的switch语句如何在后台运行?它如何将使用的变量的值与案例部分给出的值进行比较?它使用==还是.equals(),还是完全其他?

我主要对1.7之前的版本感兴趣。

回答:

它使用lookupswitchJVM指令,这实际上是一个表查找。查看以下示例的字节码:

public static void main(String... args) {

switch (1) {

case 1:

break;

case 2:

break;

}

}

public static void main(java.lang.String[]);

Code:

Stack=1, Locals=1, Args_size=1

0: iconst_1

1: lookupswitch{ //2

1: 28;

2: 31;

default: 31 }

28: goto 31

31: return

以上是 Java的开关如何在后台运行? 的全部内容, 来源链接: utcz.com/qa/410192.html

回到顶部