欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Enum使用场景及技巧

程序员文章站 2022-05-12 11:33:31
...

Enum运用

这里只介绍enum的使用场景和技巧。
例子秦国灭六国
废话不多说上代码:

import lombok.Getter;
public enum  EnumDemo {
    ONE(1,"齐"),TWO(2,"楚"),THREE(3,"燕"),FOUR(4,"赵"),FIVE(5,"魏"),SIX(6,"韩");
    @Getter private Integer retCode;
    @Getter private String retMessage;

    EnumDemo(Integer retCode, String retMessage) {
        this.retCode = retCode;
        this.retMessage = retMessage;
    }
   	//遍历
    public static EnumDemo getCountryEnum(int index){
        EnumDemo[] values = EnumDemo.values();
        for (EnumDemo element:values) {
            if(index == element.getRetCode()){
                return element;
            }
        }
        return null;
    }
}


import java.util.concurrent.CountDownLatch;
public class CountDownLatchDemo {
    public static void main(String[] args) {

        CountDownLatch countDownLatch = new CountDownLatch(6);
        //模拟六国
        for (int i = 1; i <= 6; i++) {
            new Thread(()->{
                System.out.println(Thread.currentThread().getName()+" \t 国被灭");
                countDownLatch.countDown();//计数
            },EnumDemo.getCountryEnum(i).getRetMessage()).start();
        }
        try {
            countDownLatch.await();
            System.out.println(Thread.currentThread().getName()+"\t 秦国统一六国");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

运行结果:
Enum使用场景及技巧

相关标签: enum java