Java参数类型,java未对参数类型定义运算符

  Java参数类型,java未对参数类型定义运算符

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

  【相关学习推荐:java基础教程】

  有时,您可能希望限制可在参数化类型中用作类型参数的类型。例如,对数字进行操作的方法可能只想接受数字或其子类的实例。这就是有界类型参数的用途。

  受限制参数类型的方法示例

  要声明有界类型参数,请列出类型参数的名称,后跟extends关键字,然后是它的上限,在本例中是Number。

  请注意,在这种情况下,extends通常用于表示“扩展”(如在类中)或“实现”(如在接口中)。

  包泛型;

  /**

  *定义受限方法。

  *

  * @作者psdxdgK1DT

  *

  */

  公共类BoxT {

  私人T t

  公共无效集(T t) {

  this.t=t

  }

  public T get() {

  return t;

  }

  /**

  *通过修改我们的泛型方法来包含这个有界类型参数,现在编译将会失败,因为我们对inspect的调用仍然包含字符串:

  *通过修改我们的泛型方法来包含这个有界类型参数

  *编译现在将失败,因为我们的inspect调用仍然包含一个字符串:

  *检查:单词:检查

  * @param U

  * @param u

  */

  公共U扩展号码无效检查(U u) {

  system . out . println( T: T . getclass()。getName());

  system . out . println( U: U . getclass()。getName());

  }

  公共静态void main(String[] args) {

  box integer integer box=new box integer();

  integerBox.set(新整数( some text ));

  integerBox.inspect(“某个测试”);将会出现预编译错误。

  integerbox . inspect(10);

  }

  }显示屏上将出现一条红色波浪线,指示编译错误。

  如果强制编译,将会报告一个错误:

  译文:

  未解决的编译错误

  Box类的inspect(U)方法不能应用于(String)类型参数\

  使用受限类型参的类可调用受限边界方法

  除了限制可用于实例化泛型类型的类型之外,有界类型参数还允许您调用在边界中定义的方法:

  //使用受限类型参数的类

  公共类NaturalNumberT扩展整数{

  私人T n;

  public natural number(T n){ this . n=n;}

  公共布尔值isEven() {

  return n . int value()% 2==0;

  }

  //.isEven方法通过n调用Integer类中定义的intValue方法。

  多重受限边界(Multiple Bounds)

  泛型算法

  有界类型参数是实现遗传算法的关键。考虑下面的方法,它计算数组T[]中大于指定元素elem的元素数。

  public static T int count greater than(T[]a array,T elem) {

  int count=0;

  for (T e : anArray)

  if (e elem) //编译器错误

  数数;

  返回计数;

  }

  该方法的实现很简单,

  但是它不会编译,因为大于运算符()只适用于基元类型

  例如short、int、double、long、float、byte和char。

  不能使用运算符来比较对象。若要解决此问题,请使用类型参数

  受ComparableT接口限制:

  公共接口比较表{

  public int compare to(T o);

  }

  结果代码将是:

  public static T扩展comparable T int count greater than(T[]a array,T elem) {

  int count=0;

  for (T e : anArray)

  //因为这里的t是一个受限类型参数,并且实现了Comparable接口,所以可以使用compareTo接口方法。

  if (e.compareTo(elem) 0)

  数数;

  返回计数;

  }以上是java如何定义受限类型参数的细节。更多请关注我们的其他相关文章!

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

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