案例与jdk7中的if-else

Mit*_*tri 1 java if-statement java-7

在jdk7中,case语句接受字符串.我有一个场景,我必须检查字符串列表中是否存在字符串,然后执行操作.

Case "Car":
      syso("nice car");
      break;
case "bike":
      syso("nice bike");
      break;
default:
      syso("buy something");
Run Code Online (Sandbox Code Playgroud)

要么

if(stringList.contains("Car")){
syso("nice car");
}else if(stringList.contains("bike")){
syso{"nice bike");
}else{
syso{"buy something");
}
Run Code Online (Sandbox Code Playgroud)

直到jdk6案例陈述不支持字符串.这个新功能的主要优点是什么,但是使用if-else可以实现同样的功能.

rad*_*dai 7

  1. 可读性.与等效的if-else链相比,随着案例数量的增加,switch语句变得更具可读性
  2. 表现.虽然不像前一点那么重要,但是switch语句可以编译成比if-else链更快的代码.
  3. 落空.比前两个重要得多,并且很少被标记为某些IDE /工具的警告,仍然存在一些情况,您可以从直通中获益(= =在特定情况后没有休息).这再次与可读性联系在一起.