enum
可以当成数据类型来用
管理一系列的常量(限定取值)
由来:
枚举出来之前都是拿class或者interface来组织管理常量—基本的数据类型
缺点:只要数据类型合适,就会编译通过,不考虑实际的业务,可能造成错误
enum 限定取值
本质是Enum的子类:不能再继承别的类
public final String name() {
return name;
}
public final int ordinal() {//序号
return ordinal;
}
自定义枚举
public enum Role2 {
ROLE_NOMAL,
ROLE_VIP,
ROLE_SUPER_VIP
}
可以当成数据类型来用
private Role2 role;
限定取值
user.setRole(Role2.ROLE_NOMAL);
枚举值的比较 equals或者都可以
Role2 r=user.getRole();
if(rRole2.ROLE_SUPER_VIP) {
System.out.println(“超级用户。。。。。。。。。。。。”);
}else if(r==Role2.ROLE_NOMAL) {
System.out.println(“普通用户。。。。。。。。。。。。”);
}
用switch更方便
switch® {//byte int short String(1.7+),enum
case ROLE_SUPER_VIP:
System.out.println(“超级用户。。。。。。。。。。。。”);
break;
case ROLE_NOMAL:
System.out.println(“普通用户。。。。。。。。。。。。”);
break;
case ROLE_VIP:
System.out.println(“VIP用户。。。。。。。。。。。。”);
break;
}