gpt4 book ai didi

generics - public static T addAndReturn(T element, Collection collection){ 中的 有什么用

转载 作者:行者123 更新时间:2023-12-02 16:45:00 24 4
gpt4 key购买 nike

当我遇到这种通用方法时,我会感到困惑。

public static <T> T addAndReturn(T element, Collection<T> collection){
collection.add(element);
return element;
}

我不明白为什么<T>此方法需要。

另外,泛型方法和使用泛型语法的方法有什么区别?

最佳答案

> public static <T> T addAndReturn(T
> element, Collection<T> collection){
> collection.add(element);
> return element; }

<T> (在尖括号中)被称为泛型类型参数,而 T直接位于方法名称前面的是返回类型。您可能有一个泛型方法,该方法返回泛型类型以外的其他类型。也许您想要一个将元素添加到集合中的方法(因此是 T 类型的对象),而不是返回添加的对象(也可能是 T 类型),您希望它返回的索引集合中的该项,它始终是一个 int。

返回类型不是泛型类型的示例方法签名:

public static <T> Integer addAndReturn(T element, Collection<T> collection)

与任何其他方法一样,泛型方法可以具有任何返回类型,包括泛型类型本身、任何其他类类型、任何基本或固有数据类型或 void。您可能会混淆方法签名的两个不相关的部分,认为它们是相关的,但实际上并非如此。它们只是“依赖”,因为如果您确实使用 T 作为返回类型,则返回值的类型就是您在调用站点提供的泛型类型。

关于generics - public static <T> T addAndReturn(T element, Collection<T> collection){ 中的 <T> 有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1668408/

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