泛型 java方法,java泛型使用

  泛型 java方法,java泛型使用

  如何解决写爬虫IP受阻的问题?立即使用。

  概念:泛型,即“参数化类型”。就是将原来的具体类型参数化,类似于方法中的变量参数。此时,类型也被定义为参数形式(可以称为类型参数),然后在使用/调用时传入具体的类型(类型实参)。

  本质:为了参数化类型(在不创建新类型的情况下,泛型指定的不同类型控制由形参具体限制的类型)。也就是说,在泛型使用的过程中,将操作的数据类型指定为参数,可以在类、接口和方法中使用,分别称为泛型类、泛型接口和泛型方法。

  三种使用模式:泛型类、泛型接口、泛型方法

  类型通配符:

  1)一般使用类型通配符?而不是特定的类型参数。比如名单?从逻辑上讲,它是所有列表具体类型参数(如ListString和ListInteger)的父类。

  2)类型通配符以列表的形式在线定义,这意味着通配符泛型值接受Number及其更低的子类类型。

  泛型提供了编译时类型安全监控机制,允许程序员在编译时检测非法类型。泛型的本质是参数化类型,即被操作的数据类型被指定为参数。例如,如果我们想编写一个排序方法,可以对整数数组、字符串数组甚至任何其他类型的数组进行排序,我们可以使用Java泛型。

  1.泛型方法 E

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

  //泛型方法printArray

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

  {

  for ( E element : inputArray ){

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

  }

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

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

  2.泛型类 T

  泛型类的声明与非泛型类的声明类似,只是类型参数声明部分添加在类名之后。像泛型方法一样,泛型类的类型参数声明部分也包含一个或多个类型参数,用逗号分隔。泛型参数也称为类型变量,是用于指定泛型类型名称的标识符。因为它们接受一个或多个参数,所以这些类被称为参数化类或参数化类型。

  公共类BoxT {

  私人T t

  public void add(T t) {

  this.t=t

  }

  public T get() {

  return t;

  }3.类型擦除

  Java中的泛型基本上是在编译器级别实现的。生成的Java字节码不包含泛型中的类型信息。使用泛型时添加的类型参数将在编译时被编译器移除。这个过程被称为类型擦除。代码中定义的ListObject、ListString等类型在编译后会变成List。JVM只能看到列表,但是泛型附加的类型信息对JVM是不可见的。类型擦除的基本过程也相对简单。第一次是找一个特定的类来代替类型参数,一般是Object。如果指定了类型参数的上限,则使用此上限将代码中的所有类型参数替换为具体的类。

  本文来自java入门专栏,欢迎学习!这就是深入学习java泛型的细节。更多请关注我们的其他相关文章!

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

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