爱程序网

浅谈泛型之泛型方法

来源: 阅读:

实际不用多说只举2个例子就行:

//例1
static void fromArrayToCollection(Object[] a, Collection<?> c) {
    for (Object o : a) { 
        c.add(o); // 编译错误,错误原因也很简单,<?>是无上下界的通配符泛型,所以编译器根本无法确认类型
    }
}
//例2
static <T> void fromArrayToCollection(T[] a, Collection<T> c) {
    for (T o : a) {
        c.add(o); // 无问题
    }
}

简单说一下正确的例2:

<T>仅仅是声名此方法中T作为泛型变量使用(这个变量名是随意起的,只不过要前后对应上).

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助