0
R 기반 응용 프로그램에서 Java 코드의 호스트를 활용하기 위해 rJava로 작업하기 시작했습니다. 기본 설정이 작동하는 것을 알고 있으므로 간단한 "Hello world"유형을 시도했습니다. 그러나 나는이 기본 문제를 .jcall
을 사용하여 해결할 수 있다면 여러 문제가 해결 될 것으로 기대하고 있습니다..jcall의 매개 변수 전달
> cal = new(J("java/util/GregorianCalendar"))
> obj = new(J("au.gov.ips.dataarchive.TIndex"))
> obj$monthlyT(cal)
[1] 77
> .jcall(obj,"I","monthlyT",cal)
Error in .jcall(obj, "I", "monthlyT", cal) :
method monthlyT with signature (Ljava/util/GregorianCalendar;)I not found
내 이해를 돕기 위해 3 번째 줄과 4 번째 줄은 동일하며 동일한 결과를 만들어야합니다. 분명히 내가 뭔가 잘못하고있다. 나는 그래서 제가이 질문에 대한 답을 제공해야 할 수도 있습니다 자바 객체에 대한 어떤 다른 정보를 알려 주시기 바랍니다, 자바 전문가가 아니다
static public Integer monthlyT(Calendar month)
다음 'monthlyT'방법으로 자바 코드에 정의되어 있습니다.
"I"는 int return 유형입니다. 당신은 java.lang.Integer를 리턴합니다. .jcall은 이런 일에 열광합니다. –
감사. 그것에 대해 자세하게 말 해 주실 수 있나요? 나는 지금 시도한 .jcall (obj, "Ljava/lang/Integer;", "monthlyT", cal) 성공하지 못했습니다. 정확한 구문은 무엇입니까? – Bogdanovist