学习目标:
学会泛型
学习内容:
1、 集合中的泛型
在容器后面加 <T> //T也可以是其它什么大写字母,如A,B,X
2、 支持泛型的类
就是类名后面加了<T>
3、 泛型通配符(?)
对,就是一个小小的问号。小小的东西有大用处
/**heroList1中的东西可以是Hero类和它的子类
*可以确凿的是,从heroList1取出来的对象,一定是可以转型成Hero的
*/
ArrayList<? extends Hero> heroList1 = apHeroList;
/**heroList2的泛型是Hero或者其父类泛型
*可以确凿的是,放入heroList1中的对象,一定Hero或者其父类对象
*/
ArrayList<? super Hero> heroList2 = new ArrayList<Object>();
通配符总结
如果希望只取出,不插入,就使用? extends Hero
如果希望只插入,不取出,就使用? super Hero
如果希望,又能插入,又能取出,就不要用通配符?
4、 泛型的转型
泛型不可以转型。不能像继承那样可以子类转父类,父类转子类。
学习时间:
2021.3.27晚上18:30-17:30
学习产出:
CSDN 技术博客 1 篇学废了!