有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    问题有点微妙:引号

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