繁体   English   中英

enum.ValueOf是否需要标准路径?

[英]enum.ValueOf requires fully qualified path?

我正在尝试使用Java中的valueOf将String解析为枚举,并且似乎要求使用枚举作为String的枚举的完全限定路径,这会混淆SO和其他地方的示例。 例如:

String sRange = "region";
order.range = ItemOrder.eRange.valueOf( sRange );

其中ItemOrder.eRange为:

class ItemOrder {
    public enum eRange {
        area,
        zone,
        region
    }
}

给出错误:

线程“主”中的异常java.lang.IllegalArgumentException:java.lang.Enum.valueOf(Enum.java:236)上没有枚举常量ItemOrder.eRange.region

这个问题有些微妙:引号。

如果仔细查看错误消息,您将看到提供给valueOf的字符串不是region ,而是带有结尾引号的region" 。看起来引号是错误消息的一部分,但不是,它是值的一部分,并导致不匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM