首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java枚举变换

2013-03-10 
java枚举转换有一个枚举,public enum PayStatusEnum {NOPAY(00),PAYED(01),/** * 货到付款 */WAITPAY(

java枚举转换
有一个枚举,


public enum PayStatusEnum {
NOPAY("00"),
PAYED("01"),
/**
 * 货到付款
 */
WAITPAY("02"),
/**等待发货
 * 
 */
WAITSEND("03");


private final String value;
public String getValue()
{
return value;
}
private PayStatusEnum(String st)
{
value = st;
}
}

通过PayStatusEnum enum1=Enum.valueOf(PayStatusEnum.class,"00"); 想把串转成枚举,老是报错,
 java.lang.IllegalArgumentException: No enum const class com.market.portal.services.orders.iservices.PayStatusEnum.00
at java.lang.Enum.valueOf(Enum.java:196)
at test.EnumTest.main(EnumTest.java:9)
请教怎么处理? java
[解决办法]
引用:
能不能通过值获得实例呢?

你要用值获得实例可以在你的PayStatusEnum 类中加入

public static PayStatusEnum getEnum(String value){//根据值获得实例
    PayStatusEnum e=null;
    for(PayStatusEnum e1:PayStatusEnum.values())
    if(e1.value.equals(value)){
    e=e1;
    break;
    }
    return e;
}

后面你只要调用
PaystatusEnum e=PayStatusEnum.getEunm("00");//这个e就是你的实例了
System.out.print(e);

热点排行