泛型

2018-03-17  本文已影响7人  油麦

1.1 引言

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

1.2 动机和优点

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

  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<Date> 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语言程序设计(进阶篇) ---- 机械工业出版社

上一篇下一篇

猜你喜欢

热点阅读