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コードでparamsに渡された値を取得できませんでした

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 に答える