Kết hợp nhiều chú thích @SuppressWarnings - Indigo Eclipse


149

Vì vậy, vấn đề là có thể kết hợp nhiều triệt tiêu cảnh báo để mỗi mục không cần @SuppressWarningschú thích riêng .

Ví dụ:

public class Example
    public Example() {
        GO go = new GO();  // unused
        ....
        List<String> list = ( List<String> ) go.getList(); // unchecked
    }
    ...
    // getters/setters/other methods
}

Bây giờ thay vì có hai @SuppressWarningstôi muốn có một ở cấp lớp cho hai cảnh báo đó, vì vậy như thế này:

@SuppressWarnings( "unused", "unchecked" )
public class Example
    public Example() {
        GO go = new GO();  // unused - suppressed
        ....
        List<String> list = ( List<String> ) go.getList(); // unchecked - suppressed
    }
    ...
    // getters/setters/other methods
}

Nhưng đó không phải là một cú pháp hợp lệ, có cách nào để làm điều này không?


@SuppressWarnings ("không sử dụng", "không được kiểm tra") không hoạt động, vui lòng sửa đổi nó thành @SuppressWarnings ({"chưa sử dụng", "không được kiểm tra"})
Raj

Câu trả lời:


304

Sử dụng như sau: @SuppressWarnings({"unused", "unchecked"})


Đây có phải là quy ước bình thường cho tất cả các chú thích trong Eclipse không?
biết đến

1
Không. Đây là một tham số danh sách. Khi sử dụng SDK để chạy Eclipse (hoặc khi có các nguồn Java được đính kèm), bạn có thể chỉ cần nhấn F3 trên bất kỳ chú thích nào để xem khai báo nguồn của nó, từ đó cũng xem có bao nhiêu (và) tham số nào cần.
Tuneweizen

8
Đó sẽ là một mảng, như trong String[] value(). Danh sách không có cú pháp đặc biệt trong Java, nhưng mảng có thể được xác định bằng cách sử dụng dấu ngoặc nhọn.
Maarten Bodewes

14

Nếu bạn nhìn vào bên trong chú thích, bạn sẽ thấy điều này:

public @interface SuppressWarnings {
    String[] value();
}

như bạn thấy, tham số giá trị là một mảng của Chuỗi ... vì vậy tham số trong chú thích có thể là: value1, value2 hoặc value3 trong đó

final String[] value1 = { "a1" };
final String[] value2 = { "a1", "a2" };
final String[] value3 = { "a1", "a2", "a3" };

I E:

@SuppressWarnings({"unused"})
@SuppressWarnings({"unused", "javadoc"})

bạn có thể thấy một cái gì đó như

@SuppressWarnings("unused") 

và đây là trường hợp cụ thể cho phép một phần tử không có " {} "

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.