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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zl918 黑马帝   /  2012-1-8 21:06  /  2580 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看过张老师的银行业务调度视频,其中ServiceWindow类中的start()方法,想直接往start()中赋值,但是switch报错,需要变成final类型,为什么呢?
  1.         public void start(CustomerType type) {
  2.                 Executors.newSingleThreadExecutor().execute(new Runnable() {
  3.                         public void run() {
  4.                                 while (true) {
  5.                                         switch (type) {          //需要将type变为fianl
  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技术分 +1 收起 理由
admin + 1

查看全部评分

4 个回复

倒序浏览
switch (type) ? switch里面不能放type类型,可以放char,int,类型,而这两个类型是final 的。
回复 使用道具 举报
可以放char,int,类型,而这两个类型是final 的。
回复 使用道具 举报
zl918 黑马帝 2012-1-14 10:40:04
板凳
lvwenwen88 发表于 2012-1-10 19:28
可以放char,int,类型,而这两个类型是final 的。

type是枚举类型的啊?为什么还要把枚举转换为final呢?
回复 使用道具 举报
zl918 黑马帝 2012-1-14 10:40:25
报纸
张伟 发表于 2012-1-10 17:21
switch (type) ? switch里面不能放type类型,可以放char,int,类型,而这两个类型是final 的。 ...

type是枚举类型的啊?为什么还要把枚举转换为final呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马