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