java中的枚举在java.lang包下面
主要有以下赋值的方式
(1)public enum Test {
spring, summer, autumn, winter;
}
得到他里面的数据
Test s= Test.spring;
(2)()赋值,这种方法,必须有一个构造器,并且枚举写在最前面
public enum Test {
MAN("man"),WOMAN("woman");
final String value;
Test(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
得到他里面的数据和遍历里面的数据:
System.out.println(Test.MAN);
for(Test gender : Test.values()){
System.out.println(gender.value);
}
(3)
/** 已取消 */
CANCEL {public String getName(){return "已取消";}},
/** 待审核 */
WAITCONFIRM {public String getName(){return "待审核";}},
/** 等待付款 */
WAITPAYMENT {public String getName(){return "等待付款";}},
/** 正在配货 */
ADMEASUREPRODUCT {public String getName(){return "正在配货";}},
/** 等待发货 */
WAITDELIVER {public String getName(){return "等待发货";}},
/** 已发货 */
DELIVERED {public String getName(){return "已发货";}},
/** 已收货 */
RECEIVED {public String getName(){return "已收货";}};
public abstract String getName();
获取里面的数值
System.out.println(Test.WAITDELIVER.getName());
//遍历
for(Test order : Test.values()){
System.out.println(order.getName());
}
(3)枚举与其他类型的转化
enum -> int:
int i = enumType.value.ordinal();
int -> enum:
enumType b= enumType.values()[i];
enum<->String
enum -> String: enumType.name();
String -> enum:
enumType.valueOf(name);
举例
int s=Test.ADMEASUREPRODUCT.ordinal();
Test ts=Test.values()[0];
System.out.println("--"+s+"--"+ts);
String d=Test.ADMEASUREPRODUCT.name();
Test f=Test.valueOf("ADMEASUREPRODUCT");
System.out.println(d.getClass()+"--"+f.getClass());