JavaSE-泛型
泛型
泛型在集合、比较器中的使用
1 | //泛型在List中的使用 |
1 | //泛型在Map中的使用 |
1 | class CircleComparator1 implements Comparator<Circle> { |
-
在创建集合对象的时候,可以指明泛型的类型。
具体格式为:List
list = new ArrayList (); -
JDK7.0时,有新特性,可以简写为:
List
list = new ArrayList<>(); //类型推断 -
泛型,也称为泛型参数,即参数的类型,只能使用引用数据类型进行赋值。(不能使用基本数据类型,可以使用包装类替换)
-
集合声明时,声明泛型参数。在使用集合时,可以具体指明泛型的类型。一旦指明,类或接口内部,凡是使用泛型参数的位置,都指定为具体的参数类型。如果没有指明的话,看做是Object类型。
自定义泛型
- 声明类或接口时,在类名或接口名后面声明泛型类型,我们把这样的类或接口称为
泛型类
或泛型接口
。
1 | [修饰符] class 类名<类型变量列表> [extends 父类] [implements 接口名]{ |
- 声明方法时,在【修饰符】与返回值类型之间声明类型变量,我们把声明了类型变量的方法,称为泛型方法。
1 | [修饰符] <类型变量列表> 返回值类型 方法名([形参列表])[throws 异常列表]{ |
泛型在继承上的体现
继承必须要泛型一致才算。
下面代码就是想表达这个意思
1 | //泛型不同 |
通配符
通配符的使用
1 |
|
有通配符的泛型的读写:
1 |
|
有限制条件的通配符
1 | <? extends Number> //(无穷小 , Number] |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 KuoZ's blog!