Languages

Java enum valueOf małe / wielkie litery - czy ma to znaczenie gdy używam wartości enum?

0 points
Asked by:
Sylvie-Justice
280

Czy wielkie / małe litery mają znaczenie kiedy używam metody enum valueOf()?

Przykład:

enum CODE_STATUS {
    FETCHED,
    SENT
}

Czy mogę użyć małych liter jak na przykład "sent" gdy używam:

CODE_STATUS status = CODE_STATUS.valueOf("sent");

Czy musi być dokładne dopasowanie?

1 answer
0 points
Answered by:
Sylvie-Justice
280

Znalazłem rozwiązanie:

Niestety wymagane jest dokładne dopasowanie (przykład 1), jeśli nie, to rzuci nam wyjątek (przykład 2).

Przykład 1

public class EnumValueOfExample1 {

    enum CODE_STATUS {
        FETCHED,
        SENT
    }

    public static void main(String[] args) {

        // ok przy dokładnym dopasowaniu liter z enum
        CODE_STATUS status = CODE_STATUS.valueOf("SENT");
        System.out.println(status);
    }
}

Wynik:

SENT

Przykład 2 - wyjątek

public class EnumValueOfExample2 {

    enum CODE_STATUS {
        FETCHED,
        SENT
    }

    public static void main(String[] args) {

        // Exception in thread "main" java.lang.IllegalArgumentException:
        // No enum constant
        // examples.EnumValueOfExample.CODE_STATUS.sent
        CODE_STATUS statusByLowercase = CODE_STATUS.valueOf("sent");
        System.out.println(statusByLowercase);
    }
}
Exception in thread "main" java.lang.IllegalArgumentException: 
No enum constant examples.EnumValueOfExample2.CODE_STATUS.sent
    at java.lang.Enum.valueOf(Enum.java:238)
    at examples.EnumValueOfExample2$CODE_STATUS.valueOf(EnumValueOfExample2.java:5)
    at examples.EnumValueOfExample2.main(EnumValueOfExample2.java:15)

Referencje

0 comments Add comment
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join