2013-11-29 6 views
1

클래스 이름을 사용하여이 클래스의 인스턴스를 동적으로 만들려는 아래와 같은 Java 클래스가 있습니다.varargs를 java의 Constructor.getConstructor() 매개 변수로 사용하는 방법

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)으로 캐스트됩니다.

관련 문제