java学习

Java 泛型

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。

泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?

答案是可以使用 Java 泛型。

使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排序。

泛型方法

你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。

下面是定义泛型方法的规则:

所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的<E>)。

每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。

类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。

泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(像int,double,char的等)。

实例

下面的例子演示了如何使用泛型方法打印不同字符串的元素:

实例

public class GenericMethodTest

{

  // 泛型方法 printArray                       

  public static < E > void printArray( E[] inputArray )

  {

      // 输出数组元素           

        for ( E element : inputArray ){       

            System.out.printf( "%s ", element );

        }

        System.out.println();

    }

    public static void main( String args[] )

    {

        // 创建不同类型数组: Int

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作为一个程序员,在找工作的过程中,都会遇到笔试,而很多笔试里面都包括java,尤其是作为一个Android开发工程...
    左神话阅读 8,187评论 15 295
  • 泛型程序设计 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。例如ArrayList类可以聚集任何类型...
    Steven1997阅读 763评论 1 0
  • 数据类型 Java是一种强类型语言,即意味着必须为每一个变量声明一种类型。在Java中一共有8种基本数据类型,其中...
    Steven1997阅读 1,065评论 0 2
  • 今天早上出去给个车搭电由于是老客户打来的电话去后给打着了听到客户给车主介绍我们那说修车又近又方便挺好的挺到他的介绍...
    偶然_9101阅读 116评论 0 0
  • 心情有丢丢复杂,想靠近,但是又恐惧未知,说白了就是作,又想要,又不想要,来来去去的,乱想一通居然莫名其妙的安慰了自...
    荼蘼忘川阅读 200评论 0 0

友情链接更多精彩内容