Typically, I\'ve seen people use the class literal like this:
Class cls = Foo.class;
But what if the type is generic, e.g. List?
You could use a helper method to get rid of @SuppressWarnings("unchecked")
all over a class.
@SuppressWarnings("unchecked")
private static Class generify(Class> cls) {
return (Class)cls;
}
Then you could write
Class> cls = generify(List.class);
Other usage examples are
Class
However, since it is rarely really useful, and the usage of the method defeats the compiler's type checking, I would not recommend to implement it in a place where it is publicly accessible.