美文网首页
Java中泛型的本质

Java中泛型的本质

作者: 尚学先生 | 来源:发表于2017-02-23 10:35 被阅读0次

泛型在Java中经常用到。泛型在本质上是指类型参数化。所谓类型参数化,是指用来声明数据的类型本身,也是可以改变的,它由实际参数来决定。在一般情况下,实际参数决定了形式参数的值。而类型参数化,则是实际参数的类型决定了形式参数的类型。

举个简单的例子。方法max()要求返回两个参数中较大的那个,可以写成:

这样编写代码当然没有问题。不过,如果需要比较的不是Integer类型,而是Double或是Float类型,那么就需要另外再写max()方法。参数有多少种类型,就要写多少个max()方法。但是无论怎么改变参数的类型,实际上max()方法体内部的代码并不需要改变。如果有一种机制,能够在编写max()方法时,不必确定参数a和b的数据类型,而等到调用的时候再来确定这两个参数的数据类型,那么只需要编写一个max()就可以了,这将大大降低程序员编程的工作量。

在C++中,提供了函数模板和类模板来实现这一功能。而从JDK1.5开始,也提供了类似的机制:泛型。从形式上看,泛型和C++的模板很相似,但它们是采用完全不同的技术来实现的。

在泛型出现之前,Java的程序员可以采用一种变通的办法:将参数的类型均声明为Object类型。由于Object类是所有类的父类,所以它可以指向任何类对象,但这样做不能保证类型安全。

泛型则弥补了上述做法所缺乏的类型安全,也简化了过程,不必显示地在Object与实际操作的数据类型之间进行强制转换。通过泛型,所有的强制类型转换都是自动和隐式的。因此,泛型扩展了重复使用代码的能力,而且既安全又简单。

需要更多的java学习资料加我微信哦,tangniu520666,备注“4”,

相关文章

  • 泛型(一)

    1. Java中的泛型是什么 ? 使用泛型的好处是什么? 泛型是Java SE 1.5的新特性,泛型的本质是参数化...

  • 赢在面试之Java泛型篇

    1、Java中的泛型是什么 ? 使用泛型的好处是什么? 泛型是Java SE 1.5的新特性,泛型的本质是参数化类...

  • Java泛型详解

    一、泛型本质 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测...

  • Java泛型(一)

    一、泛型的定义 1、什么是java泛型?泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操...

  • Java SE 3

    Java SE 1.Java泛型机制 泛型是Java SE1.5引入的特性,泛型的本质是参数化类型。在类、接口和方...

  • java泛型

    本质:类型参数化 java总结——泛型

  • Java中泛型的本质

    泛型在Java中经常用到。泛型在本质上是指类型参数化。所谓类型参数化,是指用来声明数据的类型本身,也是可以改变的,...

  • Java中泛型的本质

    泛型在Java中经常用到。泛型在本质上是指类型参数化。所谓类型参数化,是指用来声明数据的类型本身,也是可以改变的,...

  • Java 泛型

    01.泛型 泛型的本质是参数化类型,使用泛型可以获得更高级的抽象。 Java泛型(generics)是JDK 5 ...

  • Java泛型

    泛型 1.什么是泛型,没有泛型以前是啥子样子?泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是...

网友评论

      本文标题:Java中泛型的本质

      本文链接:https://www.haomeiwen.com/subject/bjgvwttx.html