리플렉션을 사용하여 메서드를 호출하면 null 포인터 예외를 throw하지 않고 제대로 작동하도록하는 유일한 방법은 호출하는 메서드에서 int 값을 반환하는 것입니다 .리플렉션을 사용하여 자바에서 void 메서드를 호출하는 방법
public int setScore(int n)
{
this.score = n;
return 1;
}
를 내가 전화하는 방법 :
Method setScore = myClass.getMethod("setScore", new Class<?>[]{int.class});
Object returnValue = setScore.invoke(builder, new Object[]{theScore});
void로 반환 유형을 변경하고 항상 널 포인터를 던질 것으로 보인다 호출
예를 들어, 방법은 내가 전화를 걸 예외. 무효화 방법에 대해 어떻게 접근하고 있는지를 변경해야합니까?
감사
나는 당신이 반환 값을 저장하지 않을 것이라고 생각할 것입니다 ...? –
도움이된다면이 링크 참조 http://www.mkyong.com/java/how-to-use-reflection-to-call-java-method-at-runtime/ – kosa