泛型的引入
什么是泛型
形式:<>
集合容器在设计阶段/声明阶段不能确定这个这个容器到底实际存的什么类型的对象,所以在JDK1.5之前只把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素类型不确定,其他部分都是确定的,列如关于这个元素如何保存,如何管理是确定的,因此此时把元素类型设计成一个参数。这个类型就叫泛型。
Colleation<E>,LIST<E>,Array<E>这个<E>就是类型参数,即是泛型
没有泛型的时候使用集合:
package com.wangg;
import java.util.ArrayList;
public class Dome04 {
public static void main(String[] args) {
//创建一个AyyayList集合,来存入学生类型
ArrayList ar = new ArrayList();
ar.add(90);
ar.add(15);
ar.add(23);
ar.add(13);
ar.add(78);
ar.add("王刚");
//对集合进行查看
for (Object obj:ar){
System.out.println(obj);
}
}
}
如果不使用泛型的话,有缺点:
一般我们在使用的时候基本上往集合中存入的都是相同类型的数据————》便于管理,所以现在什么引用数据类型都可以存入集合,不方便!
JDK1.5之后开始使用泛型
package com.wangg;
import java.util.ArrayList;
public class Dome04 {
public static void main(String[] args) {
//创建一个AyyayList集合,来存入学生类型
//加入泛型的优点,在编译期间就会对类型进行检查,不是泛型对应类型的就加不了这个集合
ArrayList<Integer> ar = new ArrayList<Integer>();
ar.add(90);
ar.add(15);
ar.add(23);
ar.add(13);
ar.add(78);
// ar.add("王刚");
//对集合进行查看
// for (Object obj:ar){
// System.out.println(obj);
// }
for (Integer a :ar){
System.out.println(a );
}
}
}
泛型总结
JDK1.5之后
泛型实际就是一个<>引起来的 参数类型 具体在使用的时候才会确定具体的类型。
使用了泛型之后,可以确定集合中数据存放的类型,在编译中就可以检查出来
使用了泛型你可能觉得麻烦,实际使用了泛型才会简单,后续的遍历等操作简单
泛型的类型:都是引用数据类型,不能是基本数据类型。
ArrayList<Integer> ar = new ArrayList<Integer>();在JDK1.7之后可以写为
ArrayList<Integer>

浙公网安备 33010602011771号