해당 매개 변수가 Object ... objects
인 경우 생성자를 반사 식으로 가져올 수 있습니다.자바 | 생성자를 반사적으로 가져 오기
내 생성자 :
public MyClass (Object ... objects)
{
if (! (objects == null))
{
if (objects.length > 0 && objects [ 0 ] instanceof Long)
{
setLatency ((Long) objects [ 0 ]) ;
}
}
}
내가 지금 얼마나 :
Class<?> clazz = Class.forName ("MyClass") ;
Constructor<?> clazzConstructor = clazz.getConstructor (Object [ ].class) ;
내가하려고 무엇 :
Long latency = 1000L ;
MyClass myInstance = (MyClass) clazzConstructor.newInstance (latency) ;
을 내가 java.lang.IllegalArgumentException가 발생합니다 : 인수 형식 불일치
대기 시간 == null이면 모든 것이 작동합니다.
어떻게'newInstance와 (새로운 객체 [] {지연})'에 대해? –
시도했지만 여전히 작동하지 않습니다. –
@Banthar 'newInstance()'자체가 varargs라는 사실에도 불구하고 작동합니다. – biziclop