Java 7 支持使用Strings
如下代码进行切换
switch (month.toLowerCase()) {
case "january":
monthNumber = 1;
break;
case "february":
monthNumber = 2;
break;
default:
monthNumber = 0;
break;
}
Java 是否equals()
在每种String
情况下都调用该方法?或者它依赖于==
or intern()
?
这是否等同于:
String month = month.toLowerCase();
if("january".equals(month)){
monthNumber = 1;
}else if("february".equals(month)){
monthNumber = 1;
}..
更新:
将 switch 表达式中的 String 与与每个 case 标签关联的表达式进行比较,就好像
String.equals
正在使用该方法一样。
正如文档指出的那样,行为就像equals()
被调用一样。