理解Java之泛型

来源:互联网 发布:java谷歌地图开发 编辑:程序博客网 时间:2024/06/18 15:36

这两天在网上找了解了一下关于Java泛型的,稍作总结以加深理解:

1 泛型可以用在类、接口、及方法定义中,分别称为泛型类、泛型接口、泛型方法;

2 我理解泛型的两个基本的作用是:首先是类型安全的检测;其次是可以自动及隐式的进行类型转换;

3 关于泛型的类型擦除,编译器编译的时候会将泛型的信息擦除,保留原始类型;

4 在使用泛型时有两个技巧:类型推断及通配符捕获

5 关于使用泛型时存在的类型转换的警告,例如下面这段代码,虽然限定了泛型的范围,但是eclipse还是会给出警告,个人理解是因为,通过findViewById返回的是具体的View对象,但是泛型T的类型没有确定,存在类型转换的情况,所以会有警告

    private <T extends View> T $(int resId){
        @SuppressWarnings("unchecked")
        T t = (T) getActivity().findViewById(resId);
        return t;
    }

相关链接:

Java泛型的实现原理 http://irfen.iteye.com/blog/1888312
Java通配符<?> http://blog.sina.com.cn/s/blog_65554d980100ijft.html
Java返回类型泛型的用法小结 http://blog.csdn.net/b1412/article/details/7075791
Type safety: Unchecked cast from Object to List<Blog> 大家讨论一下! http://ask.csdn.net/questions/2060
Java泛型详解 http://www.cnblogs.com/yinhaiming/articles/1749738.html
Java泛型详解 http://blog.csdn.net/jinuxwu/article/details/6771121

0 0