泛型方法和有界类型参数 - 极悦
首页 课程 师资 教程 报名

泛型方法和有界类型参数

  • 2022-08-22 10:20:55
  • 488次 极悦

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

公共静态 <T> int countGreaterThan(T[] anArray, T elem) {
    整数计数 = 0;
    for (T e : anArray)
        if (e > elem) // 编译器错误
            ++计数;
    返回计数;
}

该方法的实现很简单,但无法编译,因为大于运算符 ( > ) 仅适用于原始类型,例如short、int、double、long、float、byte和char。您不能使用>运算符来比较对象。要解决此问题,请使用Comparable接口限定的类型参数:

公共接口 Comparable<T> {
    公共 int compareTo(T o);
}

结果代码将是:

public static <T extends Comparable<T>> int countGreaterThan(T[] anArray, T elem) {
    整数计数 = 0;
    for (T e : anArray)
        if (e.compareTo(elem) > 0)
            ++计数;
    返回计数;
}

以上就是关于“泛型方法和有界类型参数”介绍,大家如果想了解更多相关知识,可以关注一下极悦的Java教程,里面还有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交