**
泛型:< >
**
jkd1.5出现的安全机制,用与编译时期,确保了类型的安全
好处:
1.将运行时期的问题ClassCastException转到了编译时期。
2.避免了强制转换的麻烦。
<>:什么时候用?
当操作的引用数据类型不确定的时候,就使用<>。将要操作的引用数据类型传入即可。
其实<>就是一个接受具体引用数据类型的参数范围。
在程序中,只要用到了带有<>的类或者接口,就要明确传入的具体引用数据类型。
运行时,会将泛型去掉,生产的class文件中是不带泛型的,这个称为泛型的擦除。
为什么擦除?因为为了兼容运行的类加载器。
泛型的补偿:在运行时,通过获取元素的类型进行转换动作,不用使用者再强制转换了。
示例代码:
public static void main(String[] args) {
ArrayList<String> a1=new ArrayList<String>();
a1.add("abc");
//a1.add(4);
Iterator<String> it=a1.iterator();
while(it.hasNext())
{
String str=it.next();
System.out.println(str);
}
}