Java泛型详解

来源:互联网 发布:淘宝卖五金没销量 编辑:程序博客网 时间:2024/06/05 10:45

**

泛型:< >

**
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);    }}
原创粉丝点击