前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >switch case,一个糟糕的设计!!!

switch case,一个糟糕的设计!!!

作者头像
用户5166556
发布2019-11-26 15:21:13
9990
发布2019-11-26 15:21:13
举报

1 什么时候需要使用switch case?

说到switch case我们通常都会想到 if else,相较于if else支持任何数据类型、表达式和变量,而switch case只是支持short、byte、char、int、String和枚举。因为switch case内部逻辑控制清晰的原因,当业务判断超过三个以上,我们比较建议使用switch case。

2 switch case特性

case后面只能跟一个普通字符,语义跟一个普通标签没什么区别,因为具有fall through特性(如下图所示)

3 fall through弊端

switch case设计之初的目的是便于编译器设计和优化,以及能够满足一些特殊的使用场景,但是平时很难碰到这种场景,通常程序员在写代码的过程中,大多借助break或者return的帮忙,以保持代码逻辑结构清晰性,此情况下,若使用fall through特性反而可能会破坏掉这种局部的结构性。

对于简单的控制逻辑还行,有时case的具体业务逻辑中可能存在for循环之类逻辑,这个时候即使在for循环写了break,但是对于整个swtich case来说没什么影响。,如果此时你没有灵活使用break或者return ,从此将埋下不定时炸弹,在意向不到的地方引爆。

4 总结

switch case和if else并不等价,使用switch case要注意配合break和return使用。

添加关注第一时间收到通知

原创不易,如果觉得有用,可以随手转发或者”在看“

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生技术爱好者社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档