目录
一、泛型的概述
定义
广泛的类型,在定义一个类的时候,类型中有些方法参数、返回值类型不确定,就使用一个符号,来表示那些尚未确定的类型,这个符号,就称为泛型。
使用
对于有泛型的类型,在这些类型后面跟上尖括号,尖括号里面写上泛型的确定类型(在使用某个类创建对象时,已经可以确定这个具体的类型了,那么就直接写出具体类型)。
例如:List<Integer> al = new ArrayList<Integer>();
泛型的好处
1、提高了数据的安全性,将运行时的问题,提前暴露在编译时期。
2、避免了强转的麻烦。
注意事项
1、前后一致:在创建对象时,赋值符号前面和后面的类型的泛型,必须一致。
2、泛型推断:如果前面的引用所属的类型已经写好了泛型,后面创建对象的类型就可以只写一个尖括号,尖括号中可以不写任何内容。<>特别像菱形,称为“菱形泛型”,jdk1.7特性。
(1)不使用泛型
public class Demo01_不使用泛型 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(1);
list.add("aaa");
list.add(new Date());
for(int i=0;i<list.size();i++){
Integer x = (Integer)list.get(i);
}
}
}
(2)使用泛型
public class Demo02_使用泛型 {
public static void main(String[] args) {
List<String> list = new ArrayList();
list.add("aaa");
list.add("bbb");
//list.add(111);
for(String str:list){
}
}
}
二、泛型类
格式: