gpt4 book ai didi

java - 为什么静态泛型方法的返回类型前面应该有

转载 作者:行者123 更新时间:2023-12-02 04:21:16 25 4
gpt4 key购买 nike

为什么泛型静态方法有返回类型,而实例方法没有?

public class Main<T> {
public static <T> T met(T t) {
return t;
}

public T met1(T t) {
return t;
}
}

最佳答案

实例方法还可以在返回类型前面定义泛型类型参数 ( <T> ),但这不是必须的,因为它可以使用已在类级别中定义的泛型类型参数 ( public class Main<T> )。

另一方面,静态方法不能使用在类级别定义的泛型类型参数,因此它必须声明它打算使用的任何泛型类型参数。

即以下两项均有效

public static <T> T met(T t) {
return t;
}

public <T> T met1(T t) {
return t;
}

另一方面,在下面

public static T met(T t) {
return t;
}

T 被假定为类型标识符(即某个类或接口(interface)的名称),而不是泛型类型参数。

关于java - 为什么静态泛型方法的返回类型前面应该有<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45657568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com