繁体   English   中英

如何'getConstructor'构造函数签名包含java数组

[英]How to 'getConstructor' where constructor signature contains java array

是否可以使用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
 });

或者更短。

    Constructor<X> c = X.class.getConstructor(A.class, Y[].class);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM