我见过类似的问题,但它们并没有太大帮助。
例如,我有这个通用类:
public class ContainerTest<T>
{
public void doSomething()
{
//I want here to determinate the Class of the type argument (In this case String)
}
}
和另一个使用此Container类的类
public class TestCase
{
private ContainerTest<String> containerTest;
public void someMethod()
{
containerTest.doSomething();
}
}
是否可以在doSomething()方法中确定类型参数的类,而无需让具有明确的变量/字段类型或ContainerTest类中的任何构造函数?
更新:ContainerTest类的格式已更改
最佳答案
唯一的方法是将类存储在实例变量中,并要求其作为构造函数的参数:
public class ContainerTest<T>
{
private Class<T> tClass;
public ContainerTest(Class<T> tClass) {
this.tCLass = tClass;
}
public void doSomething()
{
//access tClass here
}
}
关于java - 如何在Java泛型中获取类型变量的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15084670/