switch语句表达式的值可是String吗
在JDK1.6以前的版本中,switch语句表达式的值必须是整形或字符型;
在JDK1.7版本中,switch除了整型和字符型,还可以是字符串类型。
但是,他是怎么实现的呢?
实际上,Java虚拟机和字节码层次上只⽀持switch语句中使⽤与整数类型兼容的类型没有变,只是这个实现字符串⽐较的新特性是在编译器这个层次上实现的。实现的机制是:将字符串之间的⽐较转换为其哈希值的⽐较。参考⽂章:【】java switch case string
String s1="s1";
switch (s1) {
case "s1":
System.out.println(s1);
break;
default:
break;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。