Cuối cùng tôi thử nghiệm với generics một chút. Tôi đã đưa ra đoạn mã này:Java: Thử nghiệm với generics
public class Test {
static <T> void f(T x) {
x = (T) (Integer) 1234;
System.out.println(x);
}
public static void main(String[] args) {
f("a");
f(1);
f('a');
f(1.5);
f(new LinkedList<String>());
f(new HashMap<String, String>());
}
}
Tôi chạy này và nhận được kết quả này:
1234
1234
1234
1234
1234
1234
không có ngoại lệ! Làm thế nào là nó có thể?
Hãy cẩn thận - bạn đang đi lạc nguy hiểm khi hỏi: "Tại sao các generics không hoạt động như các mẫu C++?" –