JDK5.0新增的泛型.

    • 将运行时期的ClassCastException转到编译时期,避免了强制转换的麻烦
    • 类和接口使用了泛型,内部结构必须是你传进来的的类型
    • 明确具体引用数据类型,不能使用基础类型,可以使用其包装类,没有指明类型,默认Object类型
    • 自定义类,接口使用泛型来定义泛型类,接口
    • 多个泛型参数逗号隔开
    • 泛型不同的引用 ,不能相互赋值
    • 简化处理:JDK1.7 例如:ArrayList list = new ArrayList<>();
    • 静态的方法不能使用类的泛型.
    • 异常类不能声明为泛型
    • image.png
    • image.png
    • 泛型方法 例如: public void show( E[] list){ }.
    • 静态方法也可以定义为泛型类型.泛型方法是调用时确定的,并不是在实例化类时确定的
    • 泛型的通配符 ? 例如List<?> 自能读数据,不能写数据
    • < ? extends E> 接受E类型以及他的子类对象
    • <? super E> 接受E 类型以及他的父类对象