Java generic type parameters can't stand for primitives, anyway: you can't make a List<int> .
But yes, you can't make an array of generic type. That's because generics are "implemented by erasure", meaning that at the bytecode level, the type information is removed and the actual references are of type Object.
Some time ago, shortly after Generics came out, I ever wrote a configuration-less ORM purely for private/hobby purposes, which maps between DB and Java purely based on standard javabean and datamodel conventions. Generics became very handy to programmatically find out the type of the nested/joined bean/table and vice versa. That was a good learning path to learn more about Generics in reflection.
During normal work I seldom create parameterized classes. Everything I need is already available
I just try to use them as much as i can, but most of the time i use the generic classes that are already.
I believe that when the most popular frameworks like Hibernate, Spring and such, expose more generic methods then the people will use them more, i understand that these framework don't use them that much. I understand that they want to preserve backward compatibility or because it's too much work and it's better to provide new functionalities.
Well in either case sometimes the developers need to be pushed forward with more generic examples, more information and a few patterns to correctly use and promote the usage of generics.
Yes David, it's still hard to get rid of the influence of Java 1.4...