I have a generic class, says :
MyClass<T>
Inside a method of this class, I would like to test the type of T, for example :
void MyMethod()
{
if (T == String)
...
if (T == int)
...
}
how can I do that ?
Thanks for your help
You can’t, normally, due to type erasure. See Angelika Langer’s Java Generics FAQ for more details.
What you can do is pass a
Class<T>into your constructor, and then check that:Note that Java does not allow primitives to be used for type arguments though, so
intis out…