关闭

OCP 关于switch的坑

54人阅读 评论(0) 收藏 举报

1. switch case 标签如果是enum type,那么必须使用enum 的值,不能有enum的类名.

2. switch case 标签如果没有任何语句,那么就不需要分号结尾。

3. switch case 的标签必须是唯一的而且是编译时常量。

4. switch case 标签的类必须和switch 表达式的类一样。


public class Vocation {
    public static void main(String... unused){
        final DaysOff input = DaysOff.Thanksgiving;
        switch(input){
            default:   // 可以允许是空白,不需要分号
            case ValentinesDay:
            case PresidentsDay.ValentinesDay: // 不能前缀enum 名,必须只使用enum值,
                //显示的错误信息是 an enum swich case label must be the unqualified
                // name of an enumeration constant
                System.out.println(2);
        }
    }
}

enum DaysOff{
    Thanksgiving, PresidentsDay, ValentinesDay
}


0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:163次
    • 积分:29
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档