I need to create an enumeration like this:
public enum STYLE {
ELEMENT1(0), A/R (2)
//Staff
};
But Java does not permit this. Is there any solution?
Thanks
You cannot use / to name a Java identifier. You can have a look at the §JLS 3.8 to see what all special characters are allowed in naming of a Java identifier.
For your scenario, you can use an enum which looks like this.
enum STYLE {
    ELEMENT1(0, "ELEMENT1"), A_R(2, "A/R");
    private int code;
    private String name;
    private STYLE(int code, String name) {
        this.code = code;
        this.name = name;
    }
    // Other methods.
}
                        / cannot be used in the name. If your A/R constant denotes "A or R", you can rename it to A_OR_R.
Edit:
If you need to compare it to a String equal to "A/R", you can override the toString() method in the constant.
public enum Style {
    A_OR_R(2) {
        public @Override String toString() {
            return "A/R";
        }
    }, ELEMENT1(0);
}
Then
String test = "A/R";
boolean isEqual = test.equals(style.A_OR_R.toString());
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With