web-dev-qa-db-ja.com

a Java enumの値の一部を非推奨にすることは可能ですか?もしそうなら、どのように?

一部の値を非推奨にしたいのですが、すべてではありません列挙値。

39
Steve Cohen

はい、@ Deprecatedアノテーションを付けてください。例えば:

enum Status {
    OK,
    ERROR,

    @Deprecated
    PROBLEM
}

JavaDoc @deprecatedタグを追加して文書化することもできます。

enum Status {
    OK,
    ERROR,

    /**
     * @deprecated Use ERROR instead.
     */
    @Deprecated
    PROBLEM
}
61
Jesper
public enum Characters {
    STAN,
    KYLE,
    CARTMAN,
    @Deprecated KENNY
}
56
Barend

Eclipseを試してみたところ、機能します。

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;
    }

}
4
home