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)