1.泛型
1.1泛型概述
泛型的介绍
泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制
泛型的好处
- 把运行时期的问题提前到了编译期间
- 避免了强制类型转换
泛型的定义格式
- <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如:
- <类型1,类型2…>: 指定多种类型的格式,多种类型之间用逗号隔开.例如: <E,T> <K,V>
- <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如:
1.2泛型类
- 泛型类
1 | package com.yishan.fanxing; |
- 测试类
1 | package com.yishan.fanxing; |
1.3泛型方法
1 | package com.yishan.fanxing; |
1.4泛型接口
1 | package com.yishan.fanxing; |
1.5类型通配符
- 类型通配符: <?>
- ArrayList<?>: 表示元素类型未知的ArrayList,它的元素可以匹配任何的类型
- 但是并不能把元素添加到ArrayList中了,获取出来的也是父类类型
- 类型通配符上限: <? extends 类型>
- ArrayListList <? extends Number>: 它表示的类型是Number或者其子类型
- 类型通配符下限: <? super 类型>
- ArrayListList <? super Number>: 它表示的类型是Number或者其父类型
- 泛型通配符的使用
public class GenericDemo4 {
public static void main(String[] args) {
ArrayList
ArrayList
ArrayList
ArrayList
1 | method(list1); |