java泛型

有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类。

1.什么是泛型

泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法

2.为什么要用泛型

编码的时候,不加泛型是可以的,但是 你从容器中拿出来的时候必须强制类型转换,第一是多敲很多代码,第二极容易发生类型转换错误

不用泛型

有泛型就可以将错误前置到编译期

3.泛型可以怎么用


应用场景小例子1

现在需要有一个类,存放两个String类型属性,代码如下

现在我又想要一个类,可以存放两个属性,一个String,一个Integer,OK,我直接改成Object,来啥都不怕

但是这么做每次取出来的都是Object,需要强转回自己传入的类型,如果转错了就会报类转换异常,所以还得记住自己传入了什么类型的元素,比较麻烦,用泛型就可以约定每次传入的类型,取出也不需要强转,

来看一下调用

在JAVA的虚拟机中并不存在泛型,泛型只是为了完善java体系,增加程序员编程的便捷性以及安全性而创建的一种机制

3.1声明带边界的泛型

3.2泛型方法


4.总结

虚拟机中没有泛型,只有普通类和普通方法

所有泛型类的类型参数在编译时都会被擦除

创建泛型对象时请指明类型,让编译器尽早的做参数检查

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

推荐阅读更多精彩内容

  • 参数类型的好处 在 Java 引入泛型之前,泛型程序设计是用继承实现的。ArrayList 类只维护一个 Obje...
    杰哥长得帅阅读 905评论 0 3
  • 开发人员在使用泛型的时候,很容易根据自己的直觉而犯一些错误。比如一个方法如果接收List作为形式参数,那么如果尝试...
    时待吾阅读 1,073评论 0 3
  •   在Effective中讲到泛型之处提到了一个概念,类型擦除器,这是什么呢?接下来我们跟随这篇文章探索类型擦除的...
    凌云_00阅读 2,166评论 0 8
  • Java 泛型是 Java 5 引入的一个重要特性,相信大多数 Java 开发者都对此不陌生,但是泛型背后的实现原...
    JohnnyShieh阅读 2,086评论 6 37
  • 今天老婆成功推荐一位朋友成为试用会员。中午这位朋友发来办会员的请求,微信里简单说了一下办会员的所需资料、会员权益和...
    武汉大刚阅读 151评论 0 0