Java 查找具有泛型参数的构造函数
如何找到传递了泛型参数的类的构造函数。例如,此类课程:Java 查找具有泛型参数的构造函数,java,reflection,Java,Reflection,如何找到传递了泛型参数的类的构造函数。例如,此类课程: class myClass<T> { public myClass(T val1, Long val2 String val3){ ... } } 任何想法???对象的类型为:Object.class 由于泛型类型擦除,因此没有其他更具体的类型可用 这里有更多好东西: e、 例如 public class Bar<T> { private T t; public Ba
class myClass<T> {
public myClass(T val1, Long val2 String val3){
...
}
}
任何想法???对象的类型为:
Object.class
由于泛型类型擦除,因此没有其他更具体的类型可用
这里有更多好东西:
e、 例如
public class Bar<T> {
private T t;
public Bar(T t) {
this.t = t;
}
@Override
public String toString() {
return t.toString();
}
}
公共类栏{
私人T;
公共酒吧(T){
t=t;
}
@凌驾
公共字符串toString(){
返回t.toString();
}
}
这将返回“foo”:
Class[]paramArray={Object.Class};
构造函数myConstructor=Bar.class.getConstructor(paramArray);
字符串foo=“foo”;
Bar myBar=(Bar)myConstructor.newInstance(foo);
System.out.println(myBar);
这很简单
Constructor<T> myConstructor = myClass.class.getConstructor( T val, Long.class, String.class);
Constructor myConstructor=myClass.class.getConstructor(T val,Long.class,String.class);
如果您想要一个字符串,它如下所示:
Constructor<String> myConstructor = myClass.class.getConstructor( String val, Long.class, String.class);
Constructor<int> myConstructor = myClass.class.getConstructor( int val, Long.class, String.class);
Constructor myConstructor=myClass.class.getConstructor(String val,Long.class,String.class);
如果您想要一个int,它如下所示:
Constructor<String> myConstructor = myClass.class.getConstructor( String val, Long.class, String.class);
Constructor<int> myConstructor = myClass.class.getConstructor( int val, Long.class, String.class);
Constructor myConstructor=myClass.class.getConstructor(int-val,Long.class,String.class);
ints不能用作泛型,必须使用整数。最后一个例子是构造函数…你测试过这段代码吗?这是否编译:myClass.class.getConstructor(stringval,Long.class,String.class)代码>?