包:java.util 类型:接口
当不写泛型的时候,认为是Object ArrayList arrayList = new ArrayList();
//不写泛型的时候(为了先下兼容),认为元素类型就是Object, //等价于 ArrayList
以集合列表说明:
arrayList.add("hello"); arrayList.add("world"); arrayList.add(10);//Integer -> 装箱操作问题就在于消费集合元素时,无法确定元素的类型。只能在运行时暴露异常信息。 为了解决此问题,Java语言就提供了泛型的技术,用来约束集合中元素的类型,提前将此问题在开发时期就暴露出来,这样会将异常提前到编译期。
例:
public static void main(String[] args) { String c = method("45","45"); System.out.println(c); } public static <T> T method(T a,T b){ return a; }main方法中的c类型是方法method返回的,所以类型都是T, method中传入的参数要求都是T类型,所以将c类型和传入参数a b方法method返回类型绑定都要一致。