首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jdk7中的Case Vs If-else

jdk7中的Case Vs If-else
EN

Stack Overflow用户
提问于 2014-03-20 18:16:53
回答 1查看 57关注 0票数 1

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

代码语言:javascript
运行
复制
Case "Car":
      syso("nice car");
      break;
case "bike":
      syso("nice bike");
      break;
default:
      syso("buy something");

代码语言:javascript
运行
复制
if(stringList.contains("Car")){
syso("nice car");
}else if(stringList.contains("bike")){
syso{"nice bike");
}else{
syso{"buy something");
}

直到jdk6 case语句不支持String为止。但是,这个新特性的主要优点是什么呢?但是,如果-否则.可以实现相同的功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-20 18:18:33

  1. 可读性.随着案例数量的增加,开关语句变得更加可读性更强,与等效的if-else链相比。
  2. performance.虽然并不像前一点那么重要,但是switch语句可以编译成比if-else链更快的代码。
  3. fall-through.与前两者相比,重要性要小得多,而且相当罕见,某些IDE/工具将其标记为警告,在某些情况下,您仍然可以从跌落(特定情况后的==no突破)中获益。这又与可读性联系在一起。
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22541747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档