泛型定义:
将数据类型灵活的运用到类,方法,接口上,作为参数传递
泛型确定的时间:创建对象时
泛型的好处:
1.数据类型确定,省去了强转的麻烦
2.将运行时异常转换成编译器异常
泛型的缺点:
1.只能操作同一种数据类型
泛型类:
将泛型书写在Class类上
书写方式 :public class ArrayList<E>
1.在创建对象时不写泛型:默认操作就是Object
ArrayList list = new ArrayList (); list.add(Object obj)
2.写了泛型 --> 泛型什么就只能操作什么
ArrayList<String> list = new ArrayList ();
泛型方法
静态泛型方法 public static <T> void method1(T t);
非静态泛型方法 public <T> void method2(T t);
泛型接口
1. 直接在接口上定义泛型
public class GenericInterfaceImpl1 implements GenericInterface<String>{}
2.public class GenericInterfaceImpl2<I> implements GenericInterface<I>
主要应用到了泛型的传递
泛型的通配符 ?
泛型的限定
上限(开发中极有可能会使用到一种方式) 和 下限
上线写法一
public static void getElement1(Collection<? extends Number> coll){}
上线写法二:
public static<T extends Number> void getElement1(Collection<T> coll){}
下限
public static void getElement2(Collection<? super Number> coll){} (了解)
|
|