泛型

为什么要用泛型

泛型

泛型:在使用时变换任意类型

为什么要用泛型

ArrayList为什么不用Object

元素存到集合中都会向上转型为Object

  • 取出元素需要强制类型转换,不方便,增加代码复杂度
  • 可能会写入不同类型的元素,取出会报错

保证集合的通用性,也要保证具体类型的独特性,这时候泛型就派上用场了!!!

在类名后面使用尖括号将一个或多个符号包裹起来,在类中就可以使用了。符号可以看做一个参数,使用泛型类时,调用者传递什么类型,这个符号就会变成相应的类型。因为可以像参数一样动态化,所以这个符号称之为类型参数或泛型参数。

public class ArrayList<E> {
	tranisent Object[] elementData;
    
    public E get(int index) {
    	return (E) elementData;
    }
}

如果在使用泛型类时不指定类型,类型参数会将其视为Object