Is it possible to create an instance of a generic type in Java? I\'m thinking based on what I\'ve seen that the answer is no
(due to type erasure), but
Here is an option I came up with, it may help:
public static class Container {
private Class clazz;
public Container(Class clazz) {
this.clazz = clazz;
}
public E createContents() throws Exception {
return clazz.newInstance();
}
}
EDIT: Alternatively you can use this constructor (but it requires an instance of E):
@SuppressWarnings("unchecked")
public Container(E instance) {
this.clazz = (Class) instance.getClass();
}