To quote Effective Java Second edition by Joshua Bloch, page 119
Because of these fundamental
differences, arrays and generics do
not mix well. For example, it is
illegal to create an array of a
generic type, a parameterized type, or
a type parameter. None of these array
creation expressions are legal: new
List[], new List[], new
E[]
. All will result in generic array
creation errors at compile time.
Why is it illegal to create a generic
array? Because it isn’t typesafe. If
it were legal, casts generated by the
compiler in an otherwise correct
program could fail at runtime with a
ClassCastException
. This would violate
the fundamental guarantee provided by
the generic type system.
(I omitted the part that explains Generic type erasure)
The Generics chapter of this book is available as a PDF.