I was reading this answer, and now got confused about the normal array declaration and this piece of code used to create arrays for generic classes:
Gen<?> gens[] = new Gen<?>[10];
What does this do exactly, and how it is different from the normal array declaration?