java枚举。ValueOf需要完全限定路径?
我试图使用Java中的valueOf将字符串解析为枚举,它似乎需要指向枚举的完全限定路径作为字符串,这与其他地方的示例相反。例如:
String sRange = "region";
order.range = ItemOrder.eRange.valueOf( sRange );
这里是订单。语言是:
class ItemOrder {
public enum eRange {
area,
zone,
region
}
}
给出了错误:
Exception in thread "main" java.lang.IllegalArgumentException: No enum constant ItemOrder.eRange.region" at java.lang.Enum.valueOf(Enum.java:236)
# 1 楼答案
问题有点微妙:引号
如果仔细查看错误消息,您将看到提供给valueOf的字符串不是
region
,而是带有尾随引号的region"
。看起来引号是错误消息的一部分,但它不是,它是值的一部分,这导致了不匹配