jdk1.5 出现的安全机制 泛型技术是给编译器使用的技术, 编译时期就能提示错误,
运行时,生成class文件中是不带泛型的,这个称泛型的擦除,因为为了去兼容运行的类加载器
泛型的擦除 ;
泛型的补偿;
Class clazz = “abc”. getClass();
clazz.getName();
好处:
1.将运行时期的问题 ClassCastException 转换到了编译时期.
2.避免了强制转换的麻烦
<>当操作引用数据类型不确定的时候 将要操作的引用数据类型传入即可,就是一个用于接收具体引用数据类型的参数范围
ArrayList E是引用数据类型,为大写,如String, Demo, Person
public class Tool{
private Object obj;
public void setObject(Object obj){
this.obj = obj;
}
public Object getObject(){
return obj;
}
}
//在jdk1.5后,使用泛型来接受类中要操作的引用数据类型
//泛型类。什么时候使用? 当类中的操作的引用数据类型不确定的时候,就用泛型来表示
public class Tool<E>{
private E e;
Public E getObject(){
return e;
}
public void setObject(E e){
this.e = e;
}
}
pubic static void main (String[] args){
Tool<Student> tool = new Tool(Student);
tool.setObject(new Student());
Student stu = tool.getObject();
}