泛型的定义
泛型是参数化类型,是学习框架,编写框架的必备基础。他的好处是可以把运行时的错误提前到编译时期,而且使用方向可以方便代码的复用。
泛型的声明
泛型的声明有三类,泛型类、泛型接口、泛型方法。
1.泛型类和泛型接口
class A <T>
class B<T> implement I <T>
使用 new对象的时候传入 Arraylist Arraylist =newArraylist()
2泛型方法
泛型方法: 必须在权限修饰符和返回值前有泛型标记才是泛型方法
格式 public <T> void method
public T get (T.. a)
public int get(T..a))
以上都是普通方法,只不过使用了泛型类声明的泛型参数或者返回了泛型返回值而已。
泛型方法里面规定了泛型方法时候,泛型方法和泛型类尽管都可以声明T 但是泛型方法和泛型类的两个T类型可以不一样
因为java 是伪泛型,执行的时候会做泛型擦除。
public <T,V extends Comparable& View.OnClickListener> T genericMethod(T a, V b,View v){
b.onClick( v);
}
表明T没有继承别的类,但是V继承了 Comparable 以及 View.OnClickListener
Arraylsit <String> a 和Arraylist<Integer> a 运行时候类名是相等的 因为他们类名一样是Arraylist
泛型擦除只