泛型
1、JDK5之后推出的新特性:泛型
2、泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的。(运行阶段泛型没用! )
3、使用了泛型好处是什么?
第一:集合中存储的元素类型统一了。
第二:从集合中取出的元素类型是泛型指定的类型,不需要进行大量的向下转型!
4、泛型的缺点是什么?
导致集合中存储的元素缺乏多样性!
大多数业务中,集合中元素的类型还是统一的。所以这种泛型特性被大家所认可。
5、父类中的方法可以使用,但是如果是子类的特有方法还是需要强制类型转换,所以此时不适用
6、JDK8之后引入了 :自动类型推断机制。(又称为钻石表达式)
public class GenericTest02 {
public static void main(String[] args) {
//ArrayList<这里的类型会自动推断>(),前提是JDK8之后才允许。
//自动类型推断,钻石表达式!
List<Animal> myList = new ArrayList<>();
myList.add(new Animal());
myList.add(new Cat());
myList.add( new Bird());
//遍历
Iterator<Animal> it = myList.iterator();
while(it.hasNext()){
Animal a = it.next();
a.move();
}
}
7、自定义泛型:
如 类public class Link<E>
,方法public void add(E data)