读:《多角度看java中的泛型》

这篇文章有这么几个关键词

  1. 关泛化方法(generic method )
  2. 受限类型参数(bounded type parameter)
  3. 桥方法(bridge method)
  4. 擦除(erasure)
  5. GJ(Generic Java)
  6. 参数多态(parametric polymorphism)
  7. 参数化类型(parameterized type)
  8. 泛型中的子类型

首先回顾泛型的子类型指的是:

 List<String> ls = new ArrayList<String>(); 
 List
<Object> lo = ls; // error

 String 是Object的子类。但是ls 和lo 一点关系都没有

再回顾下擦除:

擦出就是泛型的类编译器会把泛型擦除掉,用受限制类型参数替换掉。(默认的是Object)

<A extends AClaz>
<A implements AInterface> 
<A>

再再在回顾下桥方法。

泛型化方法在擦除掉之后,还会再添加一个桥方法用来转化实现override。(我看泛型的本质就是通过编译器自己把强制转换做了)

再再再回顾下泛型的好处。

把 运行时的错误 前置到编译时

posted @ 2011-07-25 20:55  倚楼无语F5  阅读(180)  评论(0编辑  收藏  举报