Java的泛型始自2004年10月发布的JDK5。
JDK5之前可以这么写:
List a = new ArrayList();
a.add(1);
a.add("Hello");
a.add(v);
总之可以往里添加各种类型的数据。
JDK5之后虽然有了泛型,可以在声明时制定类型参数,但是为了保证前向兼容,仍然允许上述代码。
只是从JDK5开始,在声明时可以加入类型信息,如下:
List<String> a = new ArrayList<>();
a.add(1); // 编译出错
a.add("Hello); // ok
a.add(v); // 编译出错
由此也可见Java的泛型是在编译时检查类型的。
网友评论