짧은 버전 : 당신은 당신의 호출에서 첫 번째 논쟁을 놓치고 있습니다. invoke
.
긴 버전 : 당신은 전화를 걸고 있습니다
Method method = DoerDAO.class.getDeclaredMethod(requestedUser,
Dossier.class,
SessionFactory.class);
값이라고 가정 해 봅시다 requestedUser
~이다 getReviewerOneDetail
, 그러면 방법을 찾아 볼 것입니다
getReviewerOneDetail(Dossier arg0, SessionFactory arg1)
다음으로 당신은 전화합니다
method.invoke(dossierDetail.get(0), sessionFactory);
그만큼 Javadoc 호출 된 상태는 클래스의 인스턴스 (!)를 첫 번째 매개 변수로 가져와 메소드를 호출하고 두 번째, 세 번째, ... 매개 변수는 호출의 실제 매개 변수입니다.
그래서, 당신이 실제로 당신의 코드에서 전화하려고하는 것은
dossierDetail.get(0).getReviewerOneDetail(sessionFactory);
메소드 서명 (1 매개 변수 대 2 매개 변수)과 일치하거나 메소드가 호출되는 인스턴스 유형과 일치하지 않습니다.Dossier
대신에 DoerDAO
).
당신이 획득하기 때문에 Method
~로부터 DoerDAO
수업, 나는 당신이 거기에 글을 쓰려고했던 것 같아요.
method.invoke(doerDao, dossierDetail.get(0), sessionFactory);
이것은 번역됩니다
doerDao.getReviewerOneDetail(dossierDetail.get(0), sessionFactory);