全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  千锋问答  >  详情

java定义泛型方法

匿名提问者2023-04-25

推荐答案

  Java中可以通过在方法签名中使用泛型类型参数来定义泛型方法。泛型方法可以在调用时指定不同类型的参数,从而可以在不同场景下重用相同的代码。

  下面是一个示例泛型方法,用于比较两个值的大小:

public class MyClass {

  // 定义一个泛型方法
  public <T extends Comparable<T>> boolean compare(T a, T b) {
    return a.compareTo(b) > 0;
  }

}

   在这个方法中,>表示这是一个泛型方法,T是一个类型参数,它必须是实现了Comparable接口的类的子类。

  在方法体中,a.compareTo(b)比较了两个类型为T的参数的大小,如果第一个参数大于第二个参数,则返回true,否则返回false。

  以下是如何调用上述泛型方法的示例:

MyClass obj = new MyClass();

boolean result1 = obj.compare(10, 5);        // 调用时T被推断为Integer类型
boolean result2 = obj.compare("hello", "world"); // 调用时T被推断为String类型

   在这个示例中,compare方法被调用了两次,第一次比较了两个整数,第二次比较了两个字符串。由于泛型方法中使用了类型参数T,因此可以根据方法调用时传递的参数类型自动确定T的具体类型,从而实现了代码的重用。