java成神之——enum枚举操作
2021-05-17 21:27
标签:ali class bst 接口 print 单例模式 引用 match als java成神之——enum枚举操作 标签:ali class bst 接口 print 单例模式 引用 match als 原文地址:https://www.cnblogs.com/ye-hcj/p/9745728.html
枚举
声明
基本使用
public enum ChineseNumber {
YI,
ER,
SAN,
SI
}
ChineseNumber.values(); // ["YI","ER","SAN","SI"]
枚举遍历
for (ChineseNumber s : ChineseNumber.values()) {
System.out.println(s.name());
}
枚举在switch中使用
ChineseNumber s = ChineseNumber.ER;
switch(s) {
case YI:
System.out.println("一");
break;
case ER:
System.out.println("二");
break;
case SAN:
System.out.println("三");
break;
case SI:
System.out.println("四");
break;
}
枚举比较
Boolean b = ChineseNumber.YI == ChineseNumber.ER;
Boolean b = ChineseNumber.YI.equals(ChineseNumber.ER);
枚举静态构造方法
public enum ChineseNumber {
YI(1),
ER(2),
SAN(3),
SI(4);
private int value;
ChineseNumber(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
ChineseNumber.YI.getValue(); // 1
使用类来模拟枚举
class MyEnum
枚举中定义抽象方法
public enum MyAction {
fn {
public String execute() {
return "execute this method";
}
};
public abstract String execute();
};
MyAction.fn.execute();
枚举实现接口
public enum RegEx implements Predicate
单例模式
枚举是实现单例模式目前最好最优的方法
枚举被引用时才会实例化
public enum MySingletonPattern {
Loneliness;
private MySingletonPattern () {}
public String SomeWords() {
return "I am so lonely";
}
}
MySingletonPattern.Loneliness.SomeWords();
使用静态代码快
public enum EnglishWord {
a,b,c,d;
private String upper;
String getUpper() {
return upper;
}
static {
a.upper = "A";
b.upper = "B";
c.upper = "C";
d.upper = "D";
}
}
EnglishWord.a.getUpper();
EnumSet
EnumSet
EnumMap
public enum EnglishLowerWord {
a, b, c;
}
public enum EnglishUpperWord {
A, B, C;
}
EnumMap
结语
本文章是java成神的系列文章之一
如果你想知道,但是本文没有的,请下方留言
我会第一时间总结出来并发布填充到本文