假设Arrays.asList
方法如下所示:
public static <T> List<T> asList(T... a)
T...
实际上等同于T[]
,但是在Java中不允许使用泛型类型的数组吗?例如:
// Example 1
ArrayList<Integer>[] list = new ArrayList<Integer>[10]; // This is not allowed
// Example 2
List<ArrayList<Integer> > listOfList = Arrays.asList(new ArrayList<Integer>(), new ArrayList<Integer>()); // Allowed?
在示例2中,我传递的两个参数意味着Arrays.asList
将ArrayList<Integer>[]
作为参数,这与示例1相矛盾。为什么示例2可以工作,而示例1不能?
https://stackoverflow.com/questions/52694684
复制相似问题