[size=13.6364px]查看下述两个方法:
[size=13.6364px]- public void show(ArrayList<String> list) {}
- public void show(ArrayList<Integer> list){}
复制代码- 上述两个方法是不会形成方法的重载的,会报方法已存在的错误。
- 泛型是1.5中引入的一个新的概念,由于不用进行强制转换类型了,所以具有较高的安全性和易用性。
- 因为泛型其实只是在编译器中实现的而虚拟机并不认识泛型,所以要在虚拟机中将泛型类型进行擦除。也就是说,在编译阶段使用泛型,运行阶段取消泛型,即擦除。
- 擦除是将泛型类型以其父类代替,如String变成了Object等。 其实在使用的时候还是进行带强制类型的转化,只不过这是比较安全的转换,因为在编译阶段已经确保了数据的一致性。
[size=13.6364px]
|
|