Class Model<T>{ private T t; ..... private void someMethod(){ //now t is null Class c = t.getClass(); } ..... }
Of course it throws NPE.
Class c = t.getClass();
What syntax should i use to get class of T if my instance is null? Is it possible?
It's not possible due to type erasure.
There is the following workaround:
class Model<T> { private T t; private Class<T> tag; public Model(Class<T> tag) { this.tag = tag; } private void someMethod(){ // use tag } }
2.1m questions
2.1m answers
60 comments
57.0k users