举例:我们向ArrayList集合中,添加Person对象如果不使用泛型,因为ArrayList集合中add(Object obj) 是可以添加任意对象,默认是Object对象,所以可以把Person添加进去,当对集合进行遍历时候,拿到的每一个Person对象,也是Object类型,所以,要想使用Person的方法,编译会报错。(多态:编译看左边,运行看右边)
但是使用泛型之后,就可以将存入的对象,限定为某一类型,比如现在的Person。这样遍历之后,得到的就是一个Person对象,不用对它进行强转就可以使用它的特有功能了。
所以,总结起来泛型的好处就是:
避免了数据类型的强制转换
解决了黄色警告线问题
把运行时期的问题提前到了编译期间
|