泛型是JDK1.5的一个新特性,在你用的这个集合中并没有用到泛型。 我们先理解一下什么是泛型,通俗一点说泛型就是用来规范数据的类型的,使得一个集合中存放相同类型的数据,统一数据的类型;在定义集合时你可以为此集合定义一个数据类型, 在此集合中只能存放这种类型的数据,如果添加其他的数据则编译器会报错,因此泛型起到了一个规范数据类型的作用,其实这么说也不全对,因为泛型只是让编译器看的,在运行期间就没有泛型这个规范了; 你这个列子可以这么写:
- Collection<String> al = new ArrayList<String>();
- al.add("人");
- al.add("字符串");
- al.getClass().getDeclaredMethod("add", Object.class).invoke(al, new Integer(1));
- System.out.println(al.size());
复制代码打印的结果为3,所以说泛型是用来规范数据类型的,这句话并不准确,泛型对规范数据类型起到一定的作用, |