R使用List作为参数调用java方法

时间:2012-11-08 05:00:32

标签: r

如何将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代码

中获得params传递的值
System.out.println(arg.size());  outputs 0

1 个答案:

答案 0 :(得分:0)

这样的事情会构建清单:

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

我认为问题在于构建ArrayList。你想用哪个构造函数?