浅谈泛型之泛型方法

实际不用多说只举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作为泛型变量使用(这个变量名是随意起的,只不过要前后对应上).

posted on 2015-07-08 17:34  蓝萝卜blu  阅读(415)  评论(1编辑  收藏  举报

导航