我们用泛型的目的就是为了给元素做限定,我们需要什么类型就用什么类型
比如集合中,ArrayList<String> a = new ArrayList<String>();
我们用泛型的目的就是为了让集合中存入的元素都是String类型,这样就为以后操作集合提供了便利
而参数化类型不考虑类型参数的继承关系,比如
ArrayList<String> a1 = new ArrayList<Object>();
ArrayList<Object> a2 = new ArrayList<String>();
这两句都是错误的!!
因为不能说里面存的是Obiect类型,又说里面只能装String,反之亦然。
但是,参数化的类型 和 原始类型 是可以兼容
例如: Collection<String> c = new ArrayList();
Collection c = new ArrayList<String>(); |