Java 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;
		}
	}
}



如有问题请扫码联系我
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页