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();
}
}
}
运行结果: