2013-12-10 71 views
0

我是大一的,呵呵 还有更多的问题... 我怎么能创造中的R 例如Java的类类型的对象,下面有一个Java类的定义:传递的Java ArrayList对象来自R


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; 

    } 
} 

我打算传递邦德对象到Java功能,实际上,它的ArrayList对象,我不知道怎么acheive,你可以给我一些想法,谢谢!

回答

0

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

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

我看到它的方式,当你想利用Java中实现的一些算法或方法从R中调用它们时,主要使用rJava。数据以基元或基元数组的形式来回传递,而不是自定义对象。

+0

是的,我昨天试过了,我知道它在R中运行Java类对象太复杂了,我知道如何将它转换为java对象,但是如何重新转换它? 哇,我有点沮丧.. – Lawes