从R传递java arraylist对象

时间:2013-12-10 05:00:55

标签: java r arraylist

我是大一新生,呵呵 还有更多问题...... 我怎样才能在R中创建一个java类类型的对象 例如,下面有一个java类定义:


public class Bond{
  public String secid;
  public int paycycle;
  public float couprate;
  public Date vdate;

  public Bond(String secid,int paycycle,float couprate,Date vdate)
    {
        this.secid = secid;
        this.paycycle = paycycle;
        this.couprate = couprate;
        this.vdate = vdate;

    }
}

我打算将一个Bond对象传递给java函数,实际上,它是ArrayList对象,我不知道如何实现,你能给我一些想法,谢谢!

1 个答案:

答案 0 :(得分:0)

如果需要将对象作为参数传递给Java方法,则需要使用.jnew将此对象创建为Java对象。在R端,您可以使用列表来表示Java对象的字段,但不能通过.jcall将此类对象传递给Java。

考虑下面的评论,您可能需要重新考虑您尝试解决的问题的方法。考虑一下解决方案的哪些部分必须用Java编码,哪些部分用R编码。然后想想如何用最少量的耦合来连接这两个部分。您可以使用Java编写完整的解决方案,或者通过文本文件在Java和R之间传递数据,而不是尝试创建在不同语言之间来回传递对象的解决方案。如果这样可行,则不需要rJava。

我看到它的方式,rJava主要用于想要利用Java中实现的一些算法或方法,同时从R调用它们。数据作为基元或基元数组来回传递,而非定制对象。