簡體   English   中英

Java查找枚舉按字符串值

[英]Java Lookup Enum By String Value

我有一個枚舉

public enum Blah {
    A, B, C, D
}

我想找到一個字符串的枚舉值,例如“ A”就是Blah.A。 怎么可能做到這一點?

Enum.valueOf()是我需要的方法嗎? 如果是這樣,我將如何使用它?

您應該使用Blah.valueOf("A")這將給您Blah.A

您在valueOf方法中傳遞的參數應與Enum之一匹配,否則它將引發異常。

public Blah blahValueOf(String k) {
    for (Blah c : Blah.values()) {
        if (c.getLabel().toUpperCase().equals(k.toUpperCase())) {
            return c;
        }
    }
    return null;
}

您可以編寫此方法以便找到Blah.valueOf()

您可以使用.valueOf方法。 例如

public class EnumLoader {

    public static void main(String[] args) {
            DemoEnum value = DemoEnum.valueOf("A");
            System.out.println(value);
        }
    }
    enum DemoEnum{
        A,B,C;
    }

如果要訪問Enum類的值,則應使用valueOf方法。

valueOf(argument) ->將返回特定於參數的Enum值。

System.out.println(Blah.valueOf("A"));

記住一點,如果該參數不存在於Enum類中,您將面臨java.lang.IllegalArgumentException:沒有枚舉常量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM