Sto provando a chiamare un metodo nella classe java con rJava per alcuni giorni e non ho ancora capito cosa sto facendo male. Forse qualcuno qui avrà qualche indizio per me.rJava - .jcall problema di chiamata: metodo con firma non trovata
La situazione si presenta così:
ho caricare la libreria e l'inizializzazione di un oggetto (che è funziona bene):
library(rJava) .jinit('C:/javatemp/worker.jar') jobject <- .jnew("worker.concrete")
Ne elenco metodi e ottengo risultato bene:
.jmethods(jobject) > [1] "public java.util.List worker.concrete.lookup(java.lang.CharSequence)"
Sto preparando la struttura di input che funziona anche bene:
word <- .jnew("java/lang/String", "a word") input = .jcast(word, "java/lang/CharSequence", check = TRUE)
Tuttavia quando sto provando ad eseguire il metodo ottengo un errore che tale metodo non esiste ...
out = .jcall(jobject,"Ljava/util/List","lookup",input) > Error in .jcall(jobject, "Ljava/util/List", "lookup", input) : method lookup with signature (Ljava/lang/CharSequence;)Ljava/util/List not found
Qualcuno ha un'idea di come chiamare tale metodo ?
wow, questo non era ovvio. Non ho trovato la documentazione esplicita. Ci è voluto un po 'anche per me. Grazie. – Alok
Ora, questo ";" la risposta deve andare nella documentazione di rJava. Grazie Martin. – Vortex