温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java泛型方法怎么定义

发布时间:2026-10-21 10:51:47 来源:亿速云 阅读:89 作者:小樊 栏目:编程语言

在 Java 中,泛型方法是指在方法声明时单独定义类型参数(<T> 等),不依赖类是否泛型。


一、基本语法

修饰符 <类型参数> 返回类型 方法名(参数列表) {
    // 方法体
}

关键点:

  • <T> 放在返回值前面
  • 类型参数可以是多个:<T, U>
  • 可以用 extends 限制类型

二、最简单示例

public class Demo {
    public static <T> void print(T t) {
        System.out.println(t);
    }

    public static void main(String[] args) {
        print("hello");
        print(123);
    }
}

✅ T 在调用时自动推断


三、带返回值的泛型方法

public static <T> T getFirst(T[] array) {
    return array[0];
}

调用:

String s = getFirst(new String[]{"a", "b"});
Integer i = getFirst(new Integer[]{1, 2});

四、多个泛型参数

public static <K, V> void show(K key, V value) {
    System.out.println(key + " = " + value);
}

五、泛型方法 + 类型限制(上界)

public static <T extends Number> double toDouble(T t) {
    return t.doubleValue();
}

❌ 下面会编译错误:

toDouble("abc"); // String 不是 Number

六、泛型方法 vs 泛型类

泛型类

class Box<T> {
    T value;
}

泛型方法(即使类不是泛型)

class Util {
    static <T> T get(T t) {
        return t;
    }
}

✅ 泛型方法不要求类本身是泛型


七、常见使用场景

  • 工具类(Collections.sort、Arrays.asList)
  • 返回值类型随参数变化
  • 提高代码复用和类型安全

如果你愿意,我可以给你:

  • ✅ 泛型方法面试常问点
  • ✅ 和通配符 ? 的区别
  • ✅ 实际项目示例(如 DAO / 工具类)

你想看哪一个?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手