为什么需要泛型?
集合中的元素,可以使任意类型的对象(对象的引用),如果把某个对象放入集合,则会忽略他的类型,而把他当做Object处理,运行时会出现java.lang.ClassCastException异常。
泛型这是规定了某个集合只可以存放特定类型,会在编译期间进行类型检查,可以直接按指定类型获取集合元素而不需要进行强制转换。
例子:
1. List list = new ArrayList();
2. list.add("优快云_SEU_Cavin");
3. list.add(100);
4. for (int i = 0; i < list.size(); i++) {
5. String name = (String) list.get(i); //取出Integer时,运行时出现异常
6. System.out.println("name:" + name);
7. }
本例向list类型集合中加入了一个字符串类型的值和一个Integer类型的值。(这样合法,因为此时list默认的类型为Object类型)。在之后的循环中,由于忘记了之前在list中也加入了Integer类型的值或其他原因,运行时会出现java.lang.ClassCastException异常。为了解决这个问题,泛型应运而生。
泛型的使用:
1. List<String> list = new ArrayList<String>();