当前位置: 首页 > news >正文

河南省内 在哪个网站做商检表常州微信网站建设教程

河南省内 在哪个网站做商检表,常州微信网站建设教程,湖南哪里有做网站的,百度竞价代运营问题及其解决方案 开关/案例是用大多数命令式编程语言实现的通用控制结构。 开关比一系列的if / else更具可读性。 这是一个简单的示例#xff1a; // Switch with int literal switch (c) {case 1: one(); break;case 2: two(); break;case 3: three(); break;default: thr… 问题及其解决方案 开关/案例是用大多数命令式编程语言实现的通用控制结构。 开关比一系列的if / else更具可读性。 这是一个简单的示例 // Switch with int literal switch (c) {case 1: one(); break;case 2: two(); break;case 3: three(); break;default: throw new UnsupportedOperationException(String.format(Operation %d is not supported, c)); } 这是此代码中的主要问题的列表 int文字1、2、3与执行的代码之间的关系并不明显。 如果不再支持其中一个值例如2并且此开关未相应更新它将永远包含未使用的代码。 如果引入了c的新可能值例如4并且未相应更新开关则代码可能会在运行时抛出UnsupportedOperationException而没有任何编译时通知。 这种开关结构倾向于在代码中重复几次从而使问题2和3更加复杂。 最简单的解决方法是使用int常量而不是文字。 首先让我们定义常量 private static int ONE 1; private static int TWO 2; private static int THREE 3; 现在代码将如下所示 switch (c) {case ONE: one(); break;case TWO: two(); break;case THREE: three(); break;default: throw new UnsupportedOperationException(String.format(Operation %d is not supported, c)); } 显然在现实生活中常量的名称必须是自描述的 此代码段更具可读性但所有其他缺点仍然相关。 改进初始代码段的下一个尝试使用2004年在版本5中引入Java语言的enums 。让我们定义以下enum enum Action {ONE, TWO, THREE} 现在开关片段将稍作更改 Action a ... switch (a) {case ONE: one(); break;case TWO: two(); break;case THREE: three(); break;default: throw new UnsupportedOperationException(String.format(Operation %s is not supported, a)); } 这段代码要好一点如果从enum Action删除其中一个元素它将产生编译错误。 但是如果将其他元素添加到enum Action 则不会导致编译错误。 在这种情况下某些IDE或静态代码分析工具可能会产生警告但是谁在注意警告呢 幸运的是 enum可以声明必须由每个元素实现的抽象方法 enum Action {ONE { Override public void action() { } }, TWO { Override public void action() { } }, THREE { Override public void action() { } }, public abstract void action(); } 现在switch语句可以用单行替换 Action a ... a.action(); 此解决方案没有上面列举的任何缺点 这是可读的。 该方法“附加”到enum元素。 如果方法含义不清楚则可以编写所需数量的javadoc 。 调用方法的代码很简单什么比方法调用更简单 在不删除实现的情况下无法删除enum常量因此如果某些功能不再相关则不会保留任何未使用的代码。 如果没有实现action()方法则无法添加新的enum元素。 没有实现的代码无法编译。 如果需要执行多个操作则可以在枚举中全部执行。 正如我们已经提到的调用特定功能的代码是微不足道的因此现在没有代码重复了。 结论 尽管开关/外壳结构是众所周知的并且以各种编程语言广泛使用但是其使用可能会引起很多问题。 上面描述的使用Java枚举的解决方案没有这些缺点。 本系列的下一篇文章展示了如何扩展现有enum功能。 翻译自: https://www.javacodegeeks.com/2019/03/featured-enum-instead-switch.html
http://www.yutouwan.com/news/486006/

相关文章:

  • cms适合做什么网站网站建设 后端前端
  • 卖钢材做哪个宣传网站如果提高网站
  • 营销型网站首页模板网页设计师培训排行榜
  • 四川省广安建设局网站久久网站建设
  • 手机网站制作 尺寸成都建设路小学网站
  • 同域名网站改版需要把之前网站里的文章都拷贝过来吗?创建小型网站的步骤
  • 宁波网站建设h5工业互联网平台有哪些
  • 成都快速做网站公司品牌宣传方案
  • 沂源网站开发利用淘宝视频服务做视频网站
  • vue 实现网站开发如何建网站赚取佣金
  • 泉州网站建设公司招聘销售合肥软件建设
  • 建立什么本地网站赚钱嵌入式软件开发培训机构
  • wordpress添加背景音乐南京seo网站优化
  • wordpress 产品网站网站关键词排名全掉了
  • 用vs做网站界面网站站内推广怎么做
  • 水印在线制作网站华能集团网站建设方案项目分析
  • 商城网站如何做建网站需要什么服务器
  • 装饰公司看的设计网站旅游电子商务网站建设规划
  • 建设网站的建议中国互联网设计公司
  • 怎样让百度收录网站新网页游戏开服表
  • 静态网页做的网站怎么发到网上古楼角网站建设
  • 娱乐网站建设公司南宁网页搭建软件
  • 福田皇岗社区做网站做网站花都区
  • 个人网站备案流程短视频营销方式
  • 网站同时做竞价和seo小程序 appid
  • wordpress站点大全池州市建设管理处网站
  • 网站的投资和建设项目莱芜营销型网站制作
  • 网站开发需要学习南昌地宝网招聘信息网最新招聘
  • 传媒网站建设方案做ui设计的软件
  • 东莞网站建设公司辉煌大厦东莞松山湖邮编