java中的枚举

来源:互联网 发布:编程算法 编辑:程序博客网 时间:2024/06/06 07:01

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());










1 0
原创粉丝点击