有一个枚举,
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);