자바 리플렉션을 사용하여 변수 인수가있는 메소드를 호출하려고합니다. 여기리플렉션을 사용하여 java에서 변수 인수가있는 메소드를 호출하는 방법은 무엇입니까?
public class TestClass {
public void setParam(N ... n){
System.out.println("Calling set param...");
}
호출하는 코드 것 :
try {
Class<?> c = Class.forName("com.test.reflection.TestClass");
Method method = c.getMethod ("setParam", com.test.reflection.N[].class);
method.invoke(c, new com.test.reflection.N[]{});
나는 "인수 잘못된 번호"의 형태로, IllegalArgumentException를 얻고 난 마지막 줄에서 다음 방법을 호스트하는 클래스이다 호출 호출. 내가 뭘 잘못하고 있는지 모르겠다.
모든 포인터가 제공됩니다.
- 감사
'(Object) '에 캐스트하지 않고 시도했습니다 - 당신과 같은 예외가 생깁니다. 그냥 캐스팅을 추가하면 (그리고 올바른 포인트 1 번) 괜찮을 것입니다. – gorootde
바로 위에 Object []에 대한 캐스트가 없습니다. 엄청 고마워. – Shamik
@Shamik : 전화하려는 방법을 알고 있다면 dp4j를 사용하여 이러한 문제를 피할 수 있습니다. – simpatico