专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 泛型方法和有界类型参数

泛型方法和有界类型参数

更新时间:2022-08-22 10:20:55 来源:动力节点 浏览379次

有界类型参数是实现泛型算法的关键。考虑以下方法,该方法计算数组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教程,里面还有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>