我该如何阅读此标题?

时间:2013-04-25 00:19:58

标签: java generics

private static <T> List<T> createListOfType(Class<T> type){
    return new ArrayList<T>();          
}

我理解它的目的是什么,但我不理解这部分<T> List<T>

为什么不只是List<T>

提前谢谢

2 个答案:

答案 0 :(得分:9)

第一个<T>为方法声明泛型类型参数T。下一部分List<T>是返回类型。如果不声明<T>,则符号T将无法解析。

答案 1 :(得分:0)

签名的List<T>部分指定方法的返回类型。它将返回List,其中包含所提供类的参数化类型。

因此,如果提供Class<String>作为参数,则该方法基本上将执行以下操作:

private static List<String> createListOfType(Class<T> type){
    return new ArrayList<String>();          
}