您的位置:首页 > 编程语言 > Java开发

java7(1)——反编译深入理解增强的switch(读字节命令实战)

2014-08-01 23:14 387 查看
【本文介绍】

  本文主要讲java_7 的改进switch的底层实现。反编译一个使用带String的switch的demo并一步步解析反编译出来的字节命令,从编译的角度解读switch的底层实现。

  

【正文】

  在java7中,switch()可以放进去String 类型了,这无非是一大便利。底层JVM的swtich并没有真正的改进,只是在编译阶段,编译器把关于String的switch拆分成if语句而已。

  我们写一个简单的例子测试一下:

(1)Test类:switch()使用String

public class test {

public void test(String str) {

int i = -1;

switch(str.hashCode()){

case 97:
if(str.equals("a")){
i = 0;
}
break;
case 98:
if(str.equals("b")){
break;
}
}

switch(i) {

case 0:
System.out.println("a");
break;

case 1:
System.out.println("b");
break;

default:
System.out.println("default");
}
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: