java泛型的定义和使用,Java的泛型

  java泛型的定义和使用,Java的泛型

  Java泛型

  泛型提供了编译时类型安全检测机制,允许程序员在编译时检测非法类型。泛型的本质是参数化类型,即被操作的数据类型被指定为参数。

  例如,如果我们想编写一个排序方法,可以对整数数组、字符串数组甚至任何其他类型的数组进行排序,我们可以使用Java泛型。

  免费在线学习视频推荐:java在线视频

  1.泛型方法

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

  例如:

  public static E void print array(E[]input array){

  for ( E element : inputArray ){

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

  }

  }泛型边界

  (1)?Extends T表示由这个通配符表示的类型是T类型的子类。

  (2)?T表示由这个通配符表示的类型是T类型的父类。

  2.泛型类

  泛型类的声明与非泛型类的声明类似,只是类型参数声明部分添加在类名之后。像泛型方法一样,泛型类的类型参数声明部分也包含一个或多个类型参数,用逗号分隔。

  泛型参数也称为类型变量,是用于指定泛型类型名称的标识符。因为它们接受一个或多个参数,所以这些类被称为参数化类或参数化类型。

  例如:

  公共类BoxT {

  私人T t

  public void add(T t) {

  this.t=t

  }

  public T get() {

  return t;

  }

  }3.类型通配符?

  一般使用通配符类型?而不是特定的类型参数。比如名单?逻辑上,它是所有list具体类型参数(如List、List和List)的父类。

  4.类型擦除

  Java中的泛型基本上是在编译器级别实现的。生成的Java字节码不包含泛型中的类型信息。使用泛型时添加的类型参数将在编译时被编译器移除。这个过程被称为类型擦除。

  代码中定义的List、List等类型,编译后都会变成列表。JVM看到的只是列表,但是泛型附加的类型信息对JVM是不可见的。

  类型擦除的基本过程也相对简单。第一步是找到特定的类来替换类型参数。这个具体的类通常是Object。如果指定了类型参数的上限,则使用该上限。用具体的类替换代码中的所有类型参数。

  java相关文章教程:java语言入门以上是Java泛型详细介绍的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: