例如,假设我有String type = "Integer"
,而另一边有一个public class MyType<T>
和一个构造函数public MyType(){}
我如何使用java反射newInstance方法以便能够执行以下操作:
public static MyType<?> create(String type){
return /*new MyType<Integer>() if type was "Integer", etc*/;
}
答案 0 :(得分:1)
您不需要“ String type”参数,只需使用以下代码即可:
public static void main(final String[] args)
{
final MyType<Integer> myType1 = create();
myType1.v = 1;
final MyType<String> myType2 = create();
myType2.v = "1";
System.out.print(myType1);
System.out.print(myType2);
}
public static class MyType<T>
{
T v;
}
public static <K> MyType<K> create()
{
return new MyType<>();
}