文章目录


小结

泛型就是编写模板代码来适应任意类型;
泛型的好处是使用时不必对类型进行强制转换,它通过编译器对类型进行检查;

attention:

for example:

我们把一个ArrayList转型为ArrayList类型后,
这个ArrayList就可以接受Float类型,因为Float是Number的子类。
但是,ArrayList实际上和ArrayList是同一个对象,也就是ArrayList类型,它不可能接受Float类型, 所以在获取Integer的时候将产生ClassCastException。

编译器为了避免这种错误,根本就不允许把ArrayList转型为ArrayList。

example from official tutorial:

java_泛型小结_编译器