Sorry Mamadou, but that's not correct. Arrays are not "already type safe" and do not make generics unnecessary.
The only reason why you can't create an array of a generic type is because of a choice made by the people who designed the Java language and the Java compiler: they decided to make it work with
type erasure.
It turns out that the combination of how arrays work in Java and type erasure leads to a conflict that cannot be cleanly resolved, so to solve the problem it was decided that arrays of generic types are simply not allowed. See my blog post (link above) for details.
It may change in a future version of Java, if we get rid of type erasure.
[ June 04, 2008: Message edited by: Jesper Young ]