Я использую пакет rJava для создания оболочки для реализация Java в R. В настоящее время я хочу создать оболочку только для двух методов (put и search) класса GeneralizedSuffixTree, присутствующих в упомянутом Java-реализация.
Подпись метода search()
класса GeneralizedSuffixTree
:
public Collection<Integer> search(String word){
return search(word, -1);
}
Соответственно, я создал следующий метод-оболочку:
callsearch <- function(key){
hook2 <- .jnew("GeneralizedSuffixTree") # instance of class
out <- .jcall(hook2,"Ljava/lang/Object","search",as.character(key), evalArray= FALSE, evalString = FALSE)
return(out)
}
Итак, всякий раз, когда я вызываю метод поиска из rstudio с callsearch("abcdea")
, я получаю следующую ошибку
Error in .jcall(hook2, "Ljava/lang/Object", "search", as.character(key), :
method search with signature (Ljava/lang/String;)Ljava/lang/Object not found
Я думаю, что делаю неправильное приведение для коллекции Integer в R. Могу ли я узнать, где я делаю неправильно?
Полный пакет оболочки, находящийся в стадии разработки, доступен по ссылке.
Collection<Integer>
наObject
в своем коде Java? - person rsutormin   schedule 06.10.2015