天天看点

Java switch 对数字、字符、枚举、字符串类型的支持3. switch使用常量

1. 概述

首先说明,Java switch(x)中的x到底是否支持数字、字符、枚举、字符串类型,跟JDK的版本是相关的。

数字和字符,其实差不多事情,都是一直支持的。

从JDK1.5开始,支持枚举了,然后从JDK1.7开始,也支持String了。

当然,因为还有很多系统用经典的JDK1.6,所以最好别采用String作为参数,以免自找麻烦。

OK,使用数字和字符又有点太抽象了,所以建议使用枚举,如果觉得枚举太麻烦,还可以使用常量,以下分别举例哈。

2. switch使用枚举

直接上例子:

package org.maoge.demo;
/**
 * Description:Switch参数为枚举类型的例子 枚举类型
 * date:2017.10.18
 * @author maoge
 */
public enum UserType {
    STUDENT,TEACHER,ADMIN;
}
package org.maoge.demo;
/**
 * Description:Switch参数为枚举类型的例子
 * date:2017.10.18
 * @author maoge
 */
public class SwitchEnumDemo {
    public static void main(String[] args){
        System.out.println("It begins");
        UserType ut=UserType.TEACHER;
        switch(ut){
            case STUDENT:
                System.out.println("按学生处理");
                break;
            case TEACHER:
                System.out.println("按老师处理");
                break;
            case ADMIN:
                System.out.println("按管理员处理");
                break;
        }
    }
}
      

3. switch使用常量

package org.maoge.demo;
/**
 * Description:Switch参数为常量类型的例子 注意接口中的静动态常量可以直接通过接口名调用 此处UserTypeConstant也可以定义为类
 * date:2017.10.18
 * @author maoge
 */
public interface UserTypeConstant {
    final static int STUDENT=1;
    final static int TEACHER=2;
    final static int ADMIN=3;
}
package org.maoge.demo;
/**
 * Description:Switch参数为常量类型的例子
 * date:2017.10.18
 * @author maoge
 */
public class SwitchConstantDemo {
    public static void main(String[] args) {
        int type=UserTypeConstant.ADMIN;
        switch(type){
            case UserTypeConstant.STUDENT:
                System.out.println("按学生处理");
                break;
            case UserTypeConstant.TEACHER:
                System.out.println("按老师处理");
                break;
            case UserTypeConstant.ADMIN:
                System.out.println("按管理员处理");
                break;
        }
    }
}