0

如何将列表从我的 R 传递到 java 函数?我的java函数是

 public void test(List<String> arg){
 String[][] resultArray =new String[1][1];
 System.out.println(arg.size());
 resultArray[0][0]="hai";
 return resultArray;

}

R函数是

test<-function(params){
obj=.jnew("com/algoTree/ClientElasticSearch/ElasticSearchLoader")
a <- .jnew( "java/util/ArrayList", params )
result=.jcall(obj,"[[Ljava/lang/String;","test",a)
mat=sapply(result,.jevalArray)
mat

}

R调用

temp=c("bloomberg","reuters") 
test(list(temp))

但是我没有在我的java代码中得到参数中传递的值

System.out.println(arg.size());  outputs 0
4

1 回答 1

0

像这样的东西将建立列表:

obj <- new( J("java.util.ArrayList") )
obj$add( "bloomberg" )
obj$add( "reuters" )
obj$size()
# [1] 2

我认为问题在于您的ArrayList. 您想使用哪个构造函数?

于 2012-11-08T07:31:12.867 回答