2013-11-29 77 views
1

我有一個像下面這樣的java類,我想通過使用類名來動態創建這個類的一個實例。如何使用可變參數作爲Constructor.getConstructor()在java中的參數

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

而且我想用創建一個對象下面的代碼

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

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

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

回答

8

String...只是String[]所以你可以使用

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

請注意,您需要調用構造函數一樣

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

與演員陣容(Object)可變參數調用。

相關問題