Tiger学习 之 switch中的Enum<Enumerated>

Tiger之前的switch只能运用 int、short、char、bye值(不能用String很麻烦...),现在支持Enum...
[quote]
switch (te.getEn()) { [color=blue]//te.getEn() 取得一个Enum对象,进行case[/color]
case A : System.out.println("Hello A");
case B : System.out.println("Hello B");
[color=blue] //奇怪吧?关于 case A,case B,不能把Enum加上,如 EnumFirst.A 会出错的...所以要小心,必须case到所有的值(如果需要)[/color]
default: System.out.println("Hello default");[color=blue]//推荐加上default,防止Enum变化,没有捕获到[/color]
}
[/quote]

关于Enum的编译...
编译的时候不会转化成case ...(nt、short、char、bye)值的,有两种处理方式:
1.会创建一个 jump table,然后通过ordinal来处理(同一编译单元)
2.转换成if else ....判断(不同一编译单元)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值