关于泛型的有关问题

关于泛型的问题
为什么说泛型能消除代码中的强制类型转换 希望能得到详细的解释

------解决方案--------------------
一些集合 可以存任何对象,也说是存的是Object,比如List list = new ArrayList();list可以存任何对象,但是实际上我们存的是某一类对象,当我们取出第i个的时候,这时候代码不知道取出来的是什么对象,只知道是Object,这时候我们需要转换:比如String str = (String)list.get(i);

但有泛型的话,可以不需要转换,List<String> list = new ArrayList<String>();取第一个对象
String str = list.get(i); 比较,使用泛型后不需要进行类型转换