簡體   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