泛型
# 泛型
泛型就相当于标签
形式:<>
提示
集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存什么类型的对象,所以在 JDK1.5 之前只能把元素类型设计为Object
,JDK1.5 之后使用泛型来解决。因为这个时候除了元素类型不确定,其他的部分是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型
Collection<E>,List<E>,ArrayList<E>
这个<E>
就是类型参数,即泛型。
# 引入泛型
一般我们在使用的时候基本上往集合中存入的都是相同类型的数据 -> 便于管理。
import java.util.ArrayList;
public class Test05 {
public static void main(String[] args) {
// 创建一个 ArrayList 集合,存入学生的成绩
// 以前后面的<>也要写,后续可以省略不写
ArrayList<Integer> al = new ArrayList<>();
al.add(98);
al.add(18);
al.add(39);
al.add(60);
al.add(83);
al.add(61);
// 对集合进行遍历查看
for (Integer integer : al) {
System.out.println(integer);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
98
18
39
60
83
61
1
2
3
4
5
6
2
3
4
5
6
提示
现在比较贴近生活的一个例子,就是垃圾分类。我们说泛型就相当于一个标签,而垃圾分类之后,有厨余垃圾、生活垃圾、有害垃圾等标签,分别将垃圾放入不同的桶中,而在没实行这一管理之前,所有的垃圾都是扔在一个垃圾桶里,后续垃圾站处理很不方便,花费的成本非常高。
# 泛型总结
- 出现在 JDK1.5 以后
- 泛型就是有一个
<>
引起来的参数类型,具体在使用的时候才会确定具体的类型 - 使用了泛型以后,可以确定集合中存放的数据的类型,在编译期就可以检查出来
- 使用泛型你可能觉得麻烦,实际使用了泛型才会简单,后续的遍历等操作简单
- 泛型对应的类型:都是引用数据类型,不能是基本数据类型
- 在 JDK1.7 以后,后面的
<>
可以省略不写,这里称之为:钻石运算符
编辑 (opens new window)
上次更新: 2021/11/16, 22:35:41