泛型的引入
什么是泛型
形式:<>
集合容器在设计阶段/声明阶段不能确定这个这个容器到底实际存的什么类型的对象,所以在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号