java小知识点6

使用泛型机制编写的代码,要比那些杂乱的使用Object类型的变量,在进行强制类型转换的代码有更好的安全性和可读性。

泛型类:

类型变量T放在类名之后,用<>,泛型类可以看做普通类的工厂。

泛型方法:

泛型放在修饰符的后面,返回类型的前面。

泛型类型变量的限定:

 

无论合适定义了一个泛型类型,都自动提供过了一个相应的原始类型擦除类型变量,替换为限定类型(无限定为Object)

编译器自动插入强制类型抓换。

约束:

  • 不能使用基本类型实例化泛型参数
  • 运行时类型查询只适用于原始类型(a instanceof Pair<String>  -> false)
  • 不能创建参数化类型的数组
  • 不能实例化类型变量(new T())
  • 不能在静态域或者方法中引用类型变量
  • 不能抛出或者捕获泛型类的实例

两个类有继承关系,泛型类没有联系

通配符类型:

通配符还可以指定一个超类型限定:? super Manager

带有超类型限定的通配符可以向泛型对象写入,带有子类型限定的通配符可以从泛型类型读取。

 

posted on 2017-05-17 16:02  一个后端狗  阅读(133)  评论(0编辑  收藏  举报

导航