赞
踩
首先说明,Java switch(x)中的x到底是否支持数字、字符、枚举、字符串类型,跟JDK的版本是相关的。
数字和字符,其实差不多事情,都是一直支持的。
从JDK1.5开始,支持枚举了,然后从JDK1.7开始,也支持String了。
当然,因为还有很多系统用经典的JDK1.6,所以最好别采用String作为参数,以免自找麻烦。
OK,使用数字和字符又有点太抽象了,所以建议使用枚举,如果觉得枚举太麻烦,还可以使用常量,以下分别举例哈。
直接上例子:
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;
}
}
}
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;
}
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。