package com.skiff.www.base.grammar.enums;
import java.util.EnumMap;
import java.util.Map;
/**
* @Auther: 一叶扁舟
* @Date: 2018/12/22 15:17
* @Description:EnumMap的使用和枚举的使用
*/
public class EnumMapTest {
public static void main(String[] args) {
Map<Action,String> map = new EnumMap<Action, String>(Action.class);
map.put(Action.TURN_LEFT,"向左转");
map.put(Action.TURN_RIGHT,"向右转");
map.put(Action.RUN,"跑步");
for (Action action: Action.values()) {
System.out.println(action);
System.out.println(map.get(action));
}
System.out.println("===========================");
for (Status status: Status.values()){
System.out.println(status);
}
//valueOf是将一个字符串转换成一个枚举类型
System.out.println("BALANCE:"+Status.valueOf("BALANCE"));
System.out.println(Status.getIndex(1));
System.out.println(Status.getIndex(2));
System.out.println("================");
System.out.println(Status.getNameCn("alipay"));
}
}
enum Action{
TURN_LEFT,TURN_RIGHT, RUN;
}
enum Status{
WECHAT(1,"wechat","微信支付"),
ALIPAY(2,"alipay","支付宝支付"),
BALANCE(3,"balance","余额支付");
private int index;
private String nameEn;
private String nameCn;
Status(int index, String nameEn, String nameCn) {
this.index = index;
this.nameEn = nameEn;
this.nameCn = nameCn;
}
public static String getIndex(int index){
for (Status status : Status.values()) {
if (status.getIndex() == index) {
return status.getNameEn();
}
}
return null;
}
public static String getNameCn(String nameEn){
for (Status status: Status.values()){
if(status.getNameEn().equals(nameEn)){
return status.getNameCn();
}
}
return null;
}
public int getIndex() {
return index;
}
public String getNameEn() {
return nameEn;
}
public String getNameCn() {
return nameCn;
}
}
package com.skiff.www.base.grammar.enums;
/**
* @Auther: 一叶扁舟
* @Date: 2018/12/22 15:47
* @Description:使用枚举进行权限控制
*/
public class AccessControl {
public static boolean checkRight(Access access){
if(Access.MANAGER == access){
return true;
}else if(Access.DEPARTMENT == access){
return false;
}
return false;
}
public static void main(String[] args) {
Access manager = Access.valueOf("MANAGER");
System.out.println(manager);
System.out.println(checkRight(manager));
}
}
enum Access{
MANAGER(1,"manager"),
DEPARTMENT(2,"department"),
EMPLOYEE(3,"employee");
private int index;
private String name;
Access(int index, String name) {
this.index = index;
this.name = name;
}
}