枚举类的使用

1.创建一个Student实体类

//学生的实体类
public class Student {
    private String name; // 姓名
    private Gender sex; // 性别

    public Gender getSex() {
        return sex;
    }

    public void setSex(Gender sex) {
        this.sex = sex;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Student(String name, Gender sex) {
        super();
        this.name = name;
        this.sex = sex;
    }

    public Student() {
        super();
    }

    @Override
    public String toString() {
        return "Student [name=" + name + ", sex=" + sex + "]";
    }

    // 测试方法
    public static void main(String[] args) {
        // 创建student对象
        Student student = new Student();
        /**
         * 给学生对象的性别属性赋值
          student.setSex("人妖");  不健康的输入
          怎么解决?
          01.在对应的set方法中加入逻辑判断
          02.使用enum
             001.创建一个枚举类
             002.创建枚举值
             003.把需要限定的属性的类型改成枚举类即可!
           student.setSex(Gender.男);   ===>枚举类中有   男,女
           System.out.println("学生的性别是:" + student.getSex());
         */

        student.setSex(Gender.Man);
        System.out.println("学生的性别是:" + student.getSex());
        // Gender.values()获取所有的枚举值 是个数组
        for (Gender g : Gender.values()) {
            System.out.println(g.getSex());

        }
    }

}

2.枚举类

**
 * 枚举类
 *  01.限定用户的输入
 *  02.所有的枚举值都是static  final修饰的!(静态常量)
 *  03.构造必须是私有的!防止外部访问!
 */
public enum Gender {
    Man(1, "男"), Woman(0, "女");// 枚举值

    private int index;
    private String sex;

    private Gender(int index, String sex) {
        this.index = index;
        this.sex = sex;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

}
原文地址:https://www.cnblogs.com/999-/p/6042892.html