Xin chào tất cả,Tại sao chúng ta phải sử dụng biến trung gian cho @SuppressWarnings ("bỏ chọn")?
tôi đã tự hỏi lý do là những gì mà
public class test<T> {
T[] backing_array;
public void a(int initial_capacity) {
@SuppressWarnings("unchecked")
T[] backing_array = (T[]) new Object[initial_capacity];
this.backing_array = backing_array;
}
}
là hợp lệ nhưng
public class test<T> {
T[] backing_array;
public void b(int initial_capacity) {
@SuppressWarnings("unchecked")
this.backing_array = (T[]) new Object[initial_capacity];
}
}
là một lỗi cú pháp/biên dịch?
Lý do chúng tôi phải sử dụng biến số trung gian cho @SuppressWarnings("unchecked")
là gì?
mmm..đây tên ở đây nhưng nếu bạn di chuyển SuppressWarning đến trước khối lớp, nó là tốt mặc dù .. 1 cho điều này. – Jasonw
@Jasonw, từ http://docs.oracle.com/javase/7/docs/api/java/lang/SuppressWarnings.html: _ "Là một vấn đề về phong cách, các lập trình viên nên luôn sử dụng chú thích này trên lồng nhau sâu nhất Nếu bạn muốn chặn cảnh báo trong một phương thức cụ thể, bạn nên chú thích phương thức đó thay vì lớp của nó. "_ –