R调用java接口(interface)问题。
我知道如何在 R 中新建一个 java 用户定义的类对象以及调用 java 函数,一些返回值可以直接在 R 中使用,如整数、字符串、数组,但我不知道如何访问 arraylist 对象的值.
例如:
public class Bond
{
public String compName;
public long mfAmt;
public Bond() {
}
}
public class test_arr
{
public test_arr()
{
}
public ArrayList<Bond> getArrListDef()
{
ArrayList<Bond> arr = new ArrayList();
Bond bond = new Bond();
bond.compName = "app";
bond.mfAmt = 12;
arr.add(bond);
return arr;
}
public ArrayList<Bond> getArrList(ArrayList<Bond> arr)
{
return arr;
}
}
R调用java部分:
library(rJava)
test_arr = J('pkg.test_arr')
jarr = test_arr$getArrListDef()
现在,变量 jarr 是一个 Java-Object{},那么我如何在 R 中打印 jarr 的值...另外,如何将 java arraylist 对象传递给另一个函数“public ArrayList getArrList(ArrayList arr) ”。
最佳答案
您始终可以使用 $
便捷运算符。它提供了一种以 Java 风格编写代码的实验性但简单的方法,但以速度为代价。例如打印所有元素mfAmt
for (index in seq(test_arr$size())-1)
print(test_arr$get(as.integer(index))$mfAmt)
关于java - 如何在R中访问java arraylist类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20580919/