> Generics, and annotation processing with code generation integrated in the compiler, are two example features supported by Java that improve this.
I think it is fair to point out that generics were not part of the first Java spec. They were added in version 5, see [1].
[1] https://en.wikipedia.org/wiki/Generics_in_Java