泛型是
Java SE 1.5
之后的特性, 《
Java
核心技术》中对泛型的定义是:
“
泛型
”
意味着编写的代码可以被不同类型的对象所重用。
“
泛型
”
,顾名思义,
“
泛指的类型
”
。我们提供了泛指的概念,但具体执行的时候却可以有具体的规则来
约束,比如我们用的非常多的
ArrayList
就是个泛型类,
ArrayList
作为集合可以存放各种元素,如
Integer, String
,自定义的各种类型等,但在我们使用的时候通过具体的规则来约束,如我们可以约束
集合中只存放
Integer
类型的元素,如
List<Integer> iniData = new ArrayList<>()
使用泛型的好处?
以集合来举例,使用泛型的好处是我们不必因为添加元素类型的不同而定义不同类型的集合,如整型集
合类,浮点型集合类,字符串集合类,我们可以定义一个集合来存放整型、浮点型,字符串型数据,而
这并不是最重要的,因为我们只要把底层存储设置了
Object
即可,添加的数据全部都可向上转型为
Object
。 更重要的是我们可以通过规则按照自己的想法控制存储的数据类型。