技术汇总:第十八章:枚举的简单使用

结合上一章阅读:https://blog.csdn.net/java_wxid/article/details/99168098

枚举代码:

    package com.javaliao.backstage;
     
    import lombok.Getter;
     
    public enum MyData {
     
        ONE(1,"齐国"),TWO(2,"楚国"),THREE(3,"燕国"),FOUR(4,"赵国"),FIVE(5,"魏国"),SIX(6,"韩国");
        //提供get方法
        @Getter private Integer retCode;
        @Getter private String retMessage;
        //给上构造器
        MyData(Integer retCode, String retMessage) {
            this.retCode = retCode;
            this.retMessage = retMessage;
        }
     
        public static MyData forEatch_MyData(Integer retCode){
            MyData[] values = MyData.values();
            for (MyData value : values) {
                if(retCode == value.getRetCode()){
                    return value;
                }
            }
            return null;
        }
     
    }

使用枚举的代码:

    import java.util.concurrent.CountDownLatch;
     
     
    public class Demo {
     
        public static void main(String[] args) throws Exception{
            CountDownLatch countDownLatch = new CountDownLatch(5);
            for (int i = 1; i <= 6; i++) {
                new Thread(()->{
                    System.out.println(Thread.currentThread().getName()+"\t 被灭");
                    countDownLatch.countDown();
                },MyData.forEatch_MyData(i).getRetMessage()).start();
            }
            countDownLatch.await();
            System.out.println(Thread.currentThread().getName()+"\t 秦国一统华夏");
        }
    }

控制台: