你们知道枚举是怎么实现的吗?

一、枚举的由来

先假定一个场景,现在有一个需求。要求你创建一个员工类(Employee),其中有一个属性角色role。而公司中有BOSS、MANAGER、WORKER三种角色。那么这个类要怎么定义,我们一步一步慢慢实现这个类。

我们先把属性role设置为String,那么Employee类如下定义:

class Employee{
        
    private String name;
    
    private String role;

    /** 省略一些方法 **/
    
    public Employee(String role){
        this.role = role;
    }

}

这个时候就可以来分别创建三个角色不同的员工:

@Test
public void demo1(){
    Employee boss = new Employee("BOSS");
    Employee manager = new Employee("MANAGER");
    Employee worker = new Employee("WORKER");        

    //但是如果单词拼错了,程序就会出问题
    Employee boss2 = new Employee("BOS");
}

这样显然有很多问题,于是我们可以尝试用int,这样就不容易出错:

class Employee{
    private int role;
}

假定1是BOSS、2是MANAGER、3是WORKER。那么创建的时候就可以如下:

@Test
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章