千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  千锋问答  > java定义泛型方法
java定义泛型方法
匿名提问者 2023-04-25 09:50:10

推荐答案

  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的具体类型,从而实现了代码的重用。