Creating an array of generic type objects is not permitted in Java. The array does not has enough type-information to check for ArrayStoreException and ClassCastException based on the type of it at runtime. That's the reason why. However, the first paragraph of Item 24 in Effective java says,Creating an array of generic type objects is no