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

结合上一章阅读: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 秦国一统华夏");
    }
}

控制台:

posted @ 2019-08-11 10:00  javawxid  阅读(16)  评论(0编辑  收藏  举报