这个方法的意义是什么:public <t> T methodName(parameters)</t>

时间:2013-08-22 06:36:53

标签: java generics

这种方法的意义是:

public <T> T methodName(parameters)

2 个答案:

答案 0 :(得分:4)

通用方法:

您可以编写一个可以使用不同类型的参数调用的通用方法声明。根据传递给泛型方法的参数类型,编译器会适当地处理每个方法调用。以下是定义通用方法的规则:

  1. 所有泛型方法声明都有一个由尖括号(&lt;和&gt;)分隔的类型参数部分,它位于方法返回类型之前(&lt; E&gt;在下一个示例中)。

  2. 每个类型参数部分包含一个或多个以逗号分隔的类型参数。类型参数(也称为类型变量)是指定泛型类型名称的标识符。

  3. 类型参数可用于声明返回类型,并充当传递给泛型方法的参数类型的占位符,这些参数称为实际类型参数。

  4. 声明泛型方法的主体,就像任何其他方法一样。请注意,类型参数只能表示引用类型而不是基本类型(如int,double和char)。

  5. 您可以阅读更多OracleTutorials PointWikipedia

答案 1 :(得分:0)

通用实施。

考虑这个example from docs

  

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

public static <T> int countGreaterThan(T[] anArray, T elem) {
    int count = 0;
    for (T e : anArray)
        if (e > elem)  // compiler error
            ++count;
    return count;
}