我正在尝试用Java做这样的事情:
public static <T> T foo() {
return (T) bar(T);
}
public static Object bar(Class<?> klaz) {
return klaz.newInstance();
}
但是代码没有编译,因为我无法替代 Ť 为一个 类<?>。
有了具体的课,我可以打电话 酒吧 喜欢:
bar(ConcreteClass.class);
但这同样不起作用 Ť。即没有这样的事情 T.class
在C#中, 类型 适用于具体和模板类型。所以,对bar的调用将是:
bar(typeof(T));
但是我无法在Java中找到类似的东西。
我错过了什么,或者Java没有办法获取模板参数的类型?如果Java没有设施,是否有任何解决方法?