本文介绍了如何在java中使用varargs作为Constructor.getConstructor()的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个类似下面的java类,我想使用类名动态创建这个类的实例。

I have a java class like below which I want to create an instance of this class dynamically by using class name.

class Demo {
    public Demo(String... s) {
    //some initialization here.
    }
}

我想使用下面的代码创建一个对象

And I want to create an object using following code

Class<?> klass = Class.forName("Demo");

Constructor<?> con = klass.getConstructor("**what should be here**");

Object obj = con.newInstance(param1, param2, ...);


推荐答案

String ... 只是 String [] ,因此您可以使用

String... is just String[] so you can use

Constructor<?> con = klass.getConstructor(String[].class);

注意,您需要调用

Object o = con.newInstance((Object) new String[] {"first", "second", "more"});

(Object) varargs调用。

with the cast to (Object) for a varargs invocation.

这篇关于如何在java中使用varargs作为Constructor.getConstructor()的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-28 21:38