2011-09-12 21 views
24

Tôi muốn ngừng sử dụng một số chứ không phải tất cả các giá trị điều tra có thể có.Có thể không dùng một số giá trị của một enum java và nếu có, làm thế nào?

+0

Xem [Hướng dẫn chú thích] (http://download.oracle.com/javase/tutorial/java/javaOO/annotations.html). – mre

+4

Làm cách nào để nhập “@Được chấp nhận” trước một trong các giá trị enum của bạn? – Bombe

+10

@Bombe xin đừng đốt các lập trình viên mới vì không biết điều gì đó đơn giản trong mắt bạn. – Jesper

Trả lời

45

Có, đặt chú thích @Deprecated trên chúng. Ví dụ:

enum Status { 
    OK, 
    ERROR, 

    @Deprecated 
    PROBLEM 
} 

Bạn cũng có thể thêm một thẻ javadoc @deprecated để ghi lại nó:

enum Status { 
    OK, 
    ERROR, 

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

Tôi luôn luôn (tốt, thỉnh thoảng) tự hỏi tại sao loại chú thích '@ Deprecated' không cho phép' giá trị' cho mục đích đó. – Barend

+1

"Không sử dụng giá trị này" là một nhận xét vô dụng. Nó không nói bất cứ điều gì khác ngoài chú thích không dùng nữa. Nhận xét không dùng nữa nên cho biết giá trị được thay thế. –

+0

@JB Nizet đây chỉ là nguồn gốc để chứng minh nguyên tắc. Tôi đã thay đổi nó. – Jesper

4

Chỉ cần thử nó che khuất, nó hoạt động (đã không thử nó?):

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

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

+1, Để tham chiếu South Park – mre

+31

OH MY GOD! BẤT CỨ CỦA CHÚNG TÔI KHÔNG CÒN ĐƯỢC! – Bombe

+0

+1 lần nữa vì không dùng nữa Kenny ... – home

Các vấn đề liên quan