2013-12-10 75 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