什么是泛型?
泛型就是类型不确定,什么类型都行,在使用的时候确定下来,默认Object类型
多个泛型实例化时也要写多个类型。
public class Test<T,E>{
public static void main(String[] args) {
Test<Integer,Object> aTest = new Test<>();
}
}
一般一个泛型用一个大写字母表示,上面的T,E就是泛型。可以写任意长度字符,不过一般不要用已有的数据类型表示。
下图代码用String表示泛型,所有的String都表示为泛型,再次使用String类需要写成java.lang.String
使用泛型的特点
import java.awt.List;
import java.util.ArrayList;
public class Test{
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("hellow");
list.add("hh");
list.add(100);
for(Object lObject:list){
System.out.println((String)lObject);
}
}
}
没使用泛型,并不会报错,程序运行才会报: java.lang.Integer cannot be cast to java.lang.String
如果使用泛型,就可以把错误提前到编译阶段