如何切换大小写字符串(在java 1.7中)在内部工作?
我有一个与字符串切换案例相关的查询,如果jvm在字符串切换案例(功能在java 1.7中)如何内部工作?如何切换大小写字符串(在java 1.7中)在内部工作?
回答:
switch语句将其表达式中的String对象与与每个case标签关联的表达式进行比较,就好像它使用String.equals方法一样;因此,switch语句中的String对象的比较区分大小写。
Java Switch案例使用String.equals()方法比较传递的值与大小写的值。
根据Switch的Strings中的Java 7文档,Java编译器通过使用String对象的switch语句比链式if-then-else语句生成通常更高效的字节码。
见下面的例子:
String fruit ="Mango"; switch (fruit) {
case "Apple": System.out.println("It's Apple : "+"Apple".hashCode());
break;
case "mango": System.out.println("It's mango : "+"mango".hashCode());
break;
case "Mango": System.out.println("It's Mango : "+"Mango".hashCode());
break;
}
JVM转换此如下:
String fruit = "Mango"; String str1;
switch ((str1 = fruit).hashCode()) {
case 63476538:
if (str1.equals("Apple")) {
System.out.println("It's Mango : " + "Mango".hashCode());
}
break;
case 74109858:
if (str1.equals("Mango")) {
System.out.println("It's Mango : " + "Mango".hashCode());
}
break;
case 103662530:
if (!str1.equals("mango")) {
System.out.println("It's mango : " + "mango".hashCode());
return;
}
break;
}
以上是 如何切换大小写字符串(在java 1.7中)在内部工作? 的全部内容, 来源链接: utcz.com/qa/257524.html