泛型

  • 1.1 引言
  • 1.2 动机和优点
  • 1.3 定义泛型类和接口
  • 1.4 泛型方法
  • 1.5 【示例】对一个对象数组进行排序
  • 1.6 原始泛型和向后兼容
  • 1.7 通配泛型
  • 1.8 消除泛型和对泛型的限制
  • 1.9 【示例】泛型矩阵类

1.1 引言

泛型可以使我们在编译时就检测出错误,而不必等到运行才检出错误。如果视图使用一个不相容的对象,编译器会检测出这个错误。

1.2 动机和优点

从1.5开始允许定义泛型类泛型接口泛型方法,并且在API中修改了java.lang.Comparable接口。
表示泛型类型,随后用一个实际具体类型来替换它,替换的类型称为泛型实例化。
泛型类型是引用类型,不能用基本类型来实例化,使用包装类来替换。
优点:

  1. 存的时候,编译器会提示类型不匹配
  2. 取得时候,无需类型转换,直接输入index可以查找
        // 这里不会出错!
        ArrayList date = new ArrayList<>();
        date.add(new Date());
        date.add(new String(" string"));
        System.out.println((String)date.get(1) + date);// 这里如果没使用泛型,在输出的时候需要强制类型转换
        // 这里编译会出错!
        ArrayList dateArray = new ArrayList<>();
        dateArray.add(new Date());
        dateArray.add("string");// 错误的地方

1.3 定义泛型类和接口

使用类来创建对象,或者使用类或接口来声明引用变量时,需要指明具体的类型

1.4 泛型方法

1.5 【示例】对一个对象数组进行排序

1.6 原始泛型和向后兼容

1.7 通配泛型

1.8 消除泛型和对泛型的限制

1.9 【示例】泛型矩阵类

【引用】
Java语言程序设计(进阶篇) ---- 机械工业出版社

你可能感兴趣的:(泛型)