Java 泛型-函数返回类型是否与参数类型相同?

Java 泛型-函数返回类型是否与参数类型相同?,java,generics,Java,Generics,我想让一个函数返回一个数据类型的列表,该数据类型与传入的参数的数据类型相同。例如,我会这样调用函数: Object a = new Object(); List<Object> aList = foo(a); Integer b = 5; List<Integer> bList = foo(b); 我以前多次使用泛型,但我不知道如何在返回类型中定义数据类型,然后说相同的数据类型将用于参数 List<T> foo(T data) { ... } Li

我想让一个函数返回一个数据类型的
列表
,该数据类型与传入的参数的数据类型相同。例如,我会这样调用函数:

Object a = new Object();
List<Object> aList = foo(a);

Integer b = 5;
List<Integer> bList = foo(b);
我以前多次使用泛型,但我不知道如何在返回类型中定义数据类型,然后说相同的数据类型将用于参数

List<T> foo(T data)
{
   ...
}
List foo(T数据)
{
...
}

还是一定要像<代码>列表?我以前从未做过这样高级的泛型。

我忘了你可以在返回类型之前添加一个类型

<T> List<T> foo(T bar)
{
    ...
}
List foo(T条)
{
...
}

我忘了您可以在返回类型之前添加类型

<T> List<T> foo(T bar)
{
    ...
}
List foo(T条)
{
...
}

您需要在函数的返回类型前面指定泛型类型,例如:

public static <T> List<T> foo(T data) {
    return new ArrayList<>();
}
公共静态列表foo(T数据){
返回新的ArrayList();
}

您需要在函数的返回类型前面指定泛型类型,例如:

public static <T> List<T> foo(T data) {
    return new ArrayList<>();
}
公共静态列表foo(T数据){
返回新的ArrayList();
}

知道我将如何使用:?我不能做
Function@Hatefiend在
Function
中,
T
是输入参数的类型,
R
是返回参数的类型,如果它接受
T
并返回
T
,那么它将是
公共静态函数foo(T data){/…}
这将接收
T
s的列表,并返回
T
谢谢类型的内容。奇怪的是,
Function
起作用,而
listfoo(T-bar)
不起作用。我一点也不明白。@hatefind实际上在我之前的评论中,
不是必需的,因为您只使用了一个泛型类型
t
,因此
公共静态函数foo(t data){//…}
可以正常工作。你什么意思
List foo(T bar)
不起作用?我可能不明白你的意思。我试过了,但是我不能像以前那样定义
T
,当时它是一个常规函数,比如
List foo(T bar)
。如果可能的话,我想用
函数
将这个函数变成一个变量?我不能做
Function@Hatefiend在
Function
中,
T
是输入参数的类型,
R
是返回参数的类型,如果它接受
T
并返回
T
,那么它将是
公共静态函数foo(T data){/…}
这将接收
T
s的列表,并返回
T
谢谢类型的内容。奇怪的是,
Function
起作用,而
listfoo(T-bar)
不起作用。我一点也不明白。@hatefind实际上在我之前的评论中,
不是必需的,因为您只使用了一个泛型类型
t
,因此
公共静态函数foo(t data){//…}
可以正常工作。你什么意思
List foo(T bar)
不起作用?我可能不明白你的意思。我试过了,但是我不能像以前那样定义
T
,当时它是一个常规函数,比如
List foo(T bar)
。如果可能的话,我想使用
函数
将这个函数变成一个变量。