泛型出于JDK1.5版本,c++的泛型技术个人感觉比Java要好。
举个例子:
import Java.util.*;
public classNoGenericTest{
public static void main(String[] args){
ArrayList al=new ArrayList();
list.add("List");
list.add("哈啊哈");
list.add(400);
for(int i=0;i<list.size();i++){
String name=(String)list.get(i);
System.out.println("name="+name);
}}}
发生运行时异常:转型异常,因为400无法强转成String类型
此时我们使用泛型技术:
import Java.util.*;
public classNoGenericTest{
public static void main(String[] args){
ArrayList al<String>=new ArrayList<String>();
list.add("List");
list.add("哈啊哈");
list.add(400);
for(){
String name=list.get(i);
System.out.println("name="+name);
}
}
此时会当场报错,因为编译器检测到了object需要转型成String,但是add(400)无法强转,因而报错
所以说,泛型技术提高了Java的安全性、健壮性和可读性