Why would it be written that way rather than
public static <T> List<T> asList(T... a)
public static <T> List<T> asList(T a)
As declared asList can take an array or a list* of T's. Your alternativeOK, got it. I misinterpreted p. 69 of "Java in a Nutshell" which says, "Varargs methods are handled purely by the compiler. To the Java interpreter, the max() method is indistinguishable from [one declared with explicit array syntax for the last argument]. To convert a varargs signature to the 'real' signature, simply replace ... with ."
would limit the caller to using an array only.
* [Edit] I mean an argument list, not a List list...