package com.sxt.genericdemo;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/*
-
为什么需要学习泛型(Generic)?
-
在JDK1.5之前是没有泛型,当时集合能够存储的都是使用父类Object类型作为形参接受所有的类型
-
如果存储的是同一种类型向下转型没问题,如果集合存储的是不同类型,那么会出现ClassCastException类型转换异常
-
所以我们在转型之前做类型判断,判断后虽然解决了安全问题,但是又出现了 遍历不完全的情况,所以我们需要针对Object
-
可能出现的子类做逐一判断,判断后解决了遍历不完整和安全问题,但是如果集合又添加了一个新的类型的元素,遍历又不
-
完整,需要继续添加else if语句块,所以违背了开闭原则,不好维护,可以违背开闭原则,但是又因为Object类有无数个
-
子类,所以永远无法解决,所以引入了泛型
-
泛型是模仿数组 和 方法的特点:
-
模仿数组的 编译时期 确定类型
-
模仿方法的 参数化类型
-
泛型的概述: 泛型是一种独立的技术,和集合无关,是能够将类型在编译时期提前确定的参数化类型
-
泛型的格式: 这里的E必须是引用数据类型,这里可以A~Z
-
泛型的好处:
-
1.消除了黄色警