Type erasure in Java is used to determine typing at runtime, when generics are involved. It basically means that when you type:
List x = new ArrayList<T>();
Java figures out what the array list's type is. However, if we try to create a generic array:
T genericArray = new T;
We find that the code won't even compile because Java specifically forbids the use of generics for basic arrays. So why is this the case and why should you care? Well for one, it'll further your knowledge of generics, and for another you'll know that you'll have to use a generic collection instead of a generic array (Or one of these abominations, which isn't really a generic array anyway).
The mains reasons that you cannot create a generic array in Java are:
The main takeaway here is that you should keep an eye out for concepts in Java that are covariant and invariant, as this will affect whether you can use generics or not.