有没有办法在Java中找到模板(泛型)参数的类型?
我尝试在Java中执行类似的操作:有没有办法在Java中找到模板(泛型)参数的类型?,java,generics,Java,Generics,我尝试在Java中执行类似的操作: public static <T> T foo() { return (T) bar(T); } public static Object bar(Class<?> klaz) { return klaz.newInstance(); } 但这对T不起作用,也就是说,T级是不存在的 在C#中,混凝土和模板类型的工程类型。所以,给酒吧打电话应该是: bar(typeof(T)); 但我在Java中找不到类似的东西 我是否遗漏
public static <T> T foo() {
return (T) bar(T);
}
public static Object bar(Class<?> klaz) {
return klaz.newInstance();
}
但这对T不起作用,也就是说,T级是不存在的
在C#中,混凝土和模板类型的工程类型。所以,给酒吧打电话应该是:
bar(typeof(T));
但我在Java中找不到类似的东西
我是否遗漏了什么,或者Java没有获取模板参数类型的方法?如果Java没有这个功能,有什么解决办法吗?没有办法获得类型。Java的泛型使用类型擦除,所以即使Java本身也不知道运行时T是什么 至于解决方法:您可以定义foo来获取
Class
类型的参数,然后使用它
bar(typeof(T));