Java基础之枚举类在Android中的基本应用

1、简介

枚举时常能够遇到,可每次面对都比较陌生,这次好好的把它给弄懂一下。主要分析的是在Android开发中的枚举应用场景,也是拓宽一下知识储备吧。

2、场景

简要用法1:

如下所示, 即枚举类型执行响应的操作,这个在 onTouchEvent等事件响应里枚举还是很多的。

/**
 * 与普通类稍有不同的是,枚举类修饰为 enum
 */
public enum Role {
    ADMIN,MANAGE,EMPLOYEE
}
public class Client {
    public static void main(String[] args){
        showRoleControl(Role.ADMIN);
    }
    /**
     * 传递的是一个对象
     * @param role
     */
    public static void showRoleControl(Role role){
        switch (role){
            case ADMIN:
                System.out.println("ADMIN 身份哦");
                break;
            case MANAGE:
                System.out.println("MANAGE 身份哦");
                break;
            case EMPLOYEE:
                System.out.println("EMPLOYEE 身份哦");
                break;
            default:
                break;
        }
    }
    // output: ADMIN 身份哦
}

 简要方法2:

枚举类的抽象方法

/**
 * 枚举类的抽象方法,枚举项必须继承
 */
public enum Role {
    ADMIN{
        @Override
        public String getRoleString() {
            return "ADMIN";
        }
    },
    MANAGE {
        @Override
        public String getRoleString() {
            return "MANAGE";
        }
    },
    EMPLOYEE {
        @Override
        public String getRoleString() {
            return "EMPLOYEE";
        }
    };

    public abstract String getRoleString();
}
public class Client {
    public static void main(String[] args){
        showRoleControl(ADMIN);
    }
    /**
     * 传递的是一个对象
     * @param role
     */
    public static void showRoleControl(Role role){
        switch (role.getRoleString()){
            case "ADMIN":
                System.out.println("ADMIN 身份哦");
                break;
            case "MANAGE":
                System.out.println("MANAGE 身份哦");
                break;
            case "EMPLOYEE":
                System.out.println("EMPLOYEE 身份哦");
                break;
            default:
                break;
        }
    }
    // output: ADMIN 身份哦
}

简要方法3:

如下所示:相当于是传入构造了,Role有的,其枚举对象也都是相应的全部包括有

public enum Role {
    ADMIN("ADMIN"),
    MANAGE("MANAGE");

    public String value;
    private Role(String value){
        this.value = value;
    }
}

猜你喜欢

转载自blog.csdn.net/crazyZhangxl/article/details/81507615