【发布时间】:2018-12-24 14:40:09
【问题描述】:
我想创建一个返回List的函数,其数据类型与传入的参数的数据类型相同。例如,我会这样调用函数:
Object a = new Object();
List<Object> aList = foo(a);
Integer b = 5;
List<Integer> bList = foo(b);
因为我将Object 传递给foo,所以它返回了List<Object> 给我。当我通过Integer 时,会提供List<Integer>。
如果这是不可能的,我也可以使用如下语法:
Object a = new Object();
List<Object> aList = foo(Object.class, a);
我之前用过很多次泛型但是不知道如何在返回类型中定义一个数据类型,然后说参数会使用相同的数据类型。
List<T> foo(T data)
{
...
}
或者它必须像....List<T extends Object>?我以前从未做过如此高级的泛型。
【问题讨论】: