java - 如何 'getConstructor',其中构造函数签名包含java数组

标签 java reflection

是否可以使用getConstructor获取下面类X的构造函数?

public class A {
}

public class Y {

}

public class X extends Y {
    public X(A a, Y[] yy) {

    }
    public void someMethod() throws SecurityException, NoSuchMethodException {
        Class<? extends Y> clazz = X.class;
        Constructor<? extends Y> c =
            clazz.getConstructor(new Class[]{
                        A.class,
                        /* what do I put in here for the array of Ys? */
                    });
    }
}

谢谢

最佳答案

您可以像使用“未修饰”类(即 ClassName[].class)那样构造包含数组符号的类文字。该文字产生“描述 ClassName 实例数组的类”。在你的情况下:

clazz.getConstructor(new Class[] {
    A.class,
    Y[].class
 });

关于java - 如何 'getConstructor',其中构造函数签名包含java数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2080643/

相关文章:

java - tea servlet框架有什么用?

java - 一个简单的 AWS Lambda maven 项目超出了最大大小限制?

Java 反射为 java pojo 设置值

go - 如何动态创建一个少一个属性的结构体?

java - 如何检查类型化类<?>的类型

c# - 区分反射中的 OutAttribute 和 out 修饰符

java - 我可以用纯 Java 实现 park/unpark 方法吗?

java - 无法加载 7z-JBinding : no 7-Zip-JBinding in java. 库.path

java - 什么是NullPointerException,我该如何解决?

java - 如何在 Class<?> 的对象上执行方法