有一个枚举,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.et.portal.services.orders.iservices.PayStatusEnum.00
at java.lang.Enum.valueOf(Enum.java:196)
at test.EnumTest.main(EnumTest.java:9)
请教怎么处理?java
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.et.portal.services.orders.iservices.PayStatusEnum.00
at java.lang.Enum.valueOf(Enum.java:196)
at test.EnumTest.main(EnumTest.java:9)
请教怎么处理?java
这个是根据你的enum的Class和enum中定义的枚举名称来获得此枚举的实例,不是通过你的值来获得实例的
这个name是枚举定义的名称
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);