Подтвердить что ты не робот

Можно ли отказаться от некоторых значений перечисления Java, и если да, то как?

Я хочу осудить некоторые, но не все возможные значения перечисления.

4b9b3361

Ответ 1

Да, разместите на них @Deprecated аннотацию. Например:

enum Status {
    OK,
    ERROR,

    @Deprecated
    PROBLEM
}

Вы также можете добавить тег JavaDoc @deprecated для его документирования:

enum Status {
    OK,
    ERROR,

    /**
     * @deprecated Use ERROR instead.
     */
    @Deprecated
    PROBLEM
}

Ответ 2

public enum Characters {
    STAN,
    KYLE,
    CARTMAN,
    @Deprecated KENNY
}

Ответ 3

Только что попробовал затмение, это работает:

public class Test {

    public static void main(String[] arg) {

        System.err.println(EnumTest.A);
        System.err.println(EnumTest.B);

    }

    public static enum EnumTest {
        A, @Deprecated B, C, D, E;
    }

}