A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zl78365336 中级黑马   /  2013-12-9 14:09  /  632 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zl78365336 于 2013-12-9 17:50 编辑

ServiceWindow类中,老师讲说,while语句放在switch外面效率低,while语句放在switch里面更高效,要怎么放呢?



  1.         public void start(){
  2.                 Executors.newSingleThreadExecutor().execute(new Runnable(){
  3.                         public void run(){
  4.                                 while(true){
  5.                                         switch(type){
  6.                                         case COMMON:
  7.                                                 commonService();
  8.                                                 break;
  9.                                         case EXPRESS:
  10.                                                 expressService();
  11.                                                 break;
  12.                                         case VIP:
  13.                                                 vipService();
  14.                                                 break;
  15.                                         }
  16.                                 }
  17.                         }
  18.                 });
  19.         }



复制代码

评分

参与人数 1黑马币 +3 收起 理由
乔兵 + 3

查看全部评分

1 个回复

倒序浏览
只需要将while语句嵌套在case中,如下代码:
public stati void  start(){
     Executors.newSingleThreadExecutor().execute(new Runnable(){
          public void run(){
              switch(type){
               case COMMON: while(true){commonService();} break;
               case EXPRESS: while(true){expressService();} break;
               case VIP: while(true){vipService();} break;


                }
              }
     } )
}

评分

参与人数 1技术分 +1 收起 理由
贺奕凯 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马