tôi sử dụng Generics trong Java nhưng nó không phải là quá tốt như tôi nghĩBộ sưu tập an toàn hơn danh sách tiêu chuẩn với loại chung?
public static void add(List l, Object o) {
l.add(o);
}
public static void main(String[] args) throws Exception {
List<Integer> list = new ArrayList<Integer>();
add(list, "1.23");
add(list, 1.23);
System.out.println(list);
}
Tất cả điều này biên dịch và làm việc. Khi tôi nhận được một giá trị từ list
một ngoại lệ được ném.
Nó có thể an toàn hơn trong Java 6 không?
Tại sao bạn không sử dụng phương thức 'list.add()'? Khai báo phương thức 'add()' của bạn với tham số 'List' chung. –
NINCOMPOOP
Tôi hiểu, nhưng tôi phải đối mặt với loại tẩy xoá (mã cũ) –
@KalamarObliwy: Nhưng nó sẽ giúp bạn tiết kiệm từ các lỗi thời gian biên dịch và do đó sẽ lưu từ 'ClassCastExceptions' vào thời gian chạy. – NINCOMPOOP