java泛型的一些思考
为什么需要泛型
在Java中其实Object这个类已经可以解决大部分的泛型问题了,那么现在为什么还需要泛型了,一种说法是为了安全,因为在编译期使用泛型的话便可以基本确定这个参数的类型了,但是使用Object的话,由于Object是所有类型的超类,所以这会给代码造成一定的安全性问题。
1 | public void testList(T t){ |
在上面的例子中,list1
由于其类型是T,这就会导致在向list1
中插入数据的时候只能是泛型T,但是对于list
而言,由于Object是所有类的超类,那么这个list就可以插入任何值了,所以这就导致了一些安全问题