Java泛型返回类型语法

Java泛型返回类型语法,java,list,generics,Java,List,Generics,我试图学习如何编写一个方法来返回未知类型的对象列表。我遇到过这样一个例子: public <T> List<T> list(Class<T> c, List<Object> objectList){ List<T> list = new ArrayList<>(); for (Object o : objectList){ T t = c.cast(o);

我试图学习如何编写一个方法来返回未知类型的对象列表。我遇到过这样一个例子:

public <T> List<T> list(Class<T> c, List<Object> objectList){        
    List<T> list = new ArrayList<>();       
    for (Object o : objectList){
        T t = c.cast(o);
        list.add(t);
    }
    return list;
}
公共列表(c类,列表对象列表){
列表=新的ArrayList();
for(对象o:objectList){
T=c.cast(o);
列表。添加(t);
}
退货清单;
}

为什么返回类型是
列表
而不是简单的
列表

不是返回类型:

public <T> List<T>
公共列表
这仅仅意味着:T是这个方法的通用参数

您可以将类型参数放置在类上,也可以仅放置在方法上。你看-当所有其他方法都需要泛型类型时。。。那么您可能只会将其用于这样一个方法


请参阅以进一步阅读

不是返回类型:

public <T> List<T>
公共列表
这仅仅意味着:T是这个方法的通用参数

您可以将类型参数放置在类上,也可以仅放置在方法上。你看-当所有其他方法都需要泛型类型时。。。那么您可能只会将其用于这样一个方法


请参阅以进一步阅读

这是因为您的
list
方法有自己的泛型类型参数<代码>介绍了这种类型:

<T> List<T> list(Class<T> c, List<Object> objectList)
 ^       ^             ^
 |       +-------------+----- Use generic type
 +--------------------------- Introduce generic type argument for use in the method
列表(c类,列表对象列表)
^       ^             ^
|+--------+----使用泛型类型
+---------------------------引入泛型类型参数以在方法中使用

当泛型方法使用其封闭类的类型参数时,不需要初始的

这是因为您的
列表
方法有自己的泛型类型参数<代码>介绍了这种类型:

<T> List<T> list(Class<T> c, List<Object> objectList)
 ^       ^             ^
 |       +-------------+----- Use generic type
 +--------------------------- Introduce generic type argument for use in the method
列表(c类,列表对象列表)
^       ^             ^
|+--------+----使用泛型类型
+---------------------------引入泛型类型参数以在方法中使用

当泛型方法使用其封闭类的类型参数时,不需要初始的

不是返回类型。它定义了该泛型方法的类型。查看一下参数列表,您还发现一个具有泛型类型的类info

不是返回类型。它定义了该泛型方法的类型。查看参数列表您还可以找到一个具有泛型typeinfo的类,返回类型为
list


是“模板”/“泛型声明”:在这里声明泛型类型。我不认为这是结果类型的实际部分(这可能是错误的)

返回类型为
List


是“模板”/“泛型声明”:在这里声明泛型类型。我不认为这是结果类型的实际部分(这可能是错误的)

因为它是一个泛型方法。第一个
声明类型参数。仅使用
列表
,必须存在名为
T
的实际类。具有特定值。仅供记录:您仍然可以接受答案。。。甚至当答案关闭的时候。所以考虑以后做…因为它是一个泛型方法。第一个<代码> <代码>声明了类型参数。仅使用
列表
,必须存在名为
T
的实际类。具有特定值。仅供记录:您仍然可以接受答案。。。甚至当答案关闭的时候。所以以后再考虑……我喜欢你的ASCII艺术。谢谢你!我喜欢你的艺术。。谢谢你!