Arrays.asList() Confusing source code
arrays, java, variadic-functions
Solution
`java.util.Arrays.ArrayList` is a different class than `java.util.ArrayList`.
Problem
According to this source code for the `Arrays` class, the method `asList` passes an array to the constructor of new `ArrayList`. But there is no such constructor. Doesn't varargs generate an array, so how is this possible? Here is the `asList` source: ``` public static <T> List<T> asList(T... a) { return new ArrayList<T>(a); } ```