泛型

泛型定义

泛型出现中jdk5.0以后,之前当某个属性不知道用什么类型的时候,是用Object来申明,泛型就是为了解决这种固定的写法,所有引入泛型.

  • Demo
/**
*age年龄  可能 用 1  1.6f    两岁 三种表达方式  所以需要泛型优化
*
**/
public class Children<T>{
      private String name ;
      private  T age;
}

大家试想,没有泛型的话,你要打印age你都需要对类型做判断再输出。有了泛型,new出来就是对应泛型接收。

泛型的基本概念术语

  • 申明在类名上的泛型T是形参
  • 当泛型传入实际类型比如integer就是实参
  • 不同泛型类不能转换
  • 泛型可以只申明一边定义,一般不采纳

通配符

  • 比如在方法传带泛型的参数时候,你不知道要传进来的对象的泛型是什么类型,你就需要通配符?来代表泛型。
  • 通配符的情况下,只能输出,不能修改
    比如set方法,你不知道什么类型没办法赋值

泛型上下限

这里有两个关键字 super extends
上限《?extends number》
下限《?super Integer》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 泛型 泛型由来 泛型字面意思不知道是什么类型,但又好像什么类型都是。看前面用到的集合都有泛型的影子。 以Array...
    向日花开阅读 2,209评论 2 6
  • 开发人员在使用泛型的时候,很容易根据自己的直觉而犯一些错误。比如一个方法如果接收List作为形式参数,那么如果尝试...
    时待吾阅读 1,073评论 0 3
  • 我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。 假如我们现在...
    今晚打肉山阅读 1,025评论 0 1
  • 一、泛型简介1.引入泛型的目的 了解引入泛型的动机,就先从语法糖开始了解。 语法糖 语法糖(Syntactic S...
    Android进阶与总结阅读 1,033评论 0 9
  • (1) 如果有一种思绪,在你的脸上漾起涟漪 我曾看到你的背影,你不敢转身 我知道你是怕我看到你的哭泣 你只好独自默...
    木子爱若阅读 414评论 4 10