首页 > 编程语言 > 详细

java小知识点6

时间:2017-05-17 16:38:44      阅读:303      评论:0      收藏:0      [点我收藏+]

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

泛型类:

技术分享

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

泛型方法:

技术分享

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

技术分享

泛型类型变量的限定:

技术分享

技术分享

技术分享

 

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

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

约束:

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

技术分享

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

通配符类型:

技术分享

技术分享

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

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

 

java小知识点6

原文:http://www.cnblogs.com/zcy-backend/p/6868039.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!