I\'ve occasionally heard that with generics, Java didn\'t get it right. (nearest reference, here)
Pardon my inexperience, but what would have made them better?
Java doesn't enforce Generics at run time, only at compile time.
This means that you can do interesting things like adding the wrong types to generic Collections.