我对泛型不是很熟悉,因此还没有找到解决方法。我有这三个方法:
public static List<ObjectA> objectAAsList(ObjectA ... items) {
return new ArrayList<>(Arrays.asList(items));
}
public static List<ObjectB> objectBAsList(ObjectB ... items) {
return new ArrayList<>(Arrays.asList(items));
}
public static List<ObjectC> objectCAsList(ObjectC ... items) {
return new ArrayList<>(Arrays.asList(items));
}
如何创建一个仅使用 vararg 的 T 类型参数的方法,并将其转换为 ArrayList?
List<T>
前面需要<T>
? - DoeMoeJoeList<T>
中已经有了T
,为什么我需要在之前加上它呢?为什么我在原始方法签名中不需要<ObjectA> List<ObjectA>
呢? - DoeMoeJoe<ObjectA>
是一个类型变量声明,所以List<ObjectA>
指的是类型变量,其名称恰好为ObjectA
,而不是类ObjectA
。 - Andy Turner