我正在使用RJava進行標識符映射(在生物學中):BridgeDbR。其中一種方法調用具有vargs,的azazaz(Java方法):如何使用零值在RJava中調用可變參數的方法?
xref <- .jnew("org/bridgedb/Xref", identifier, datasource)
datatarget <- getDataSource(code=target)
targets = .jarray(c(datatarget), contents.class="org/bridgedb/DataSource")
這裏了getDataSource()方法返回類型org.bridgedb的Java對象。 DataSource。
感興趣的實際呼叫隨後等,其中(如上所示)的外部參照和目標是Java對象,並且其中映射器也是Java對象作出,見下文:
mappings = mapper$mapID(xref, targets)
此映射器對象是所述IDMapper接口的實例,並定義了使用的vargs的azazaz()方法:
public Set<Xref> mapID (Xref ref, DataSource... tgtDataSources)
throws IDMapperException;
現在,我想呼叫無數據源此方法。在Java中我只會這樣做:
someMapper.mapID(someXref)
... Java找到這個方法。
但是,我無法弄清楚如何在RJava中做到這一點。下面體都不起作用(如.jarray(C(),contents.class = 「組織/ bridgedb /數據源」)返回NULL):
mappings = mapper$mapID(xref, c())
mappings = mapper$mapID(xref)
mappings = mapper$mapID(xref, NULL)
mappings = mapper$mapID(xref, .jarray(c(), contents.class="org/bridgedb/DataSource"))
.jmethods(映射器,名稱的輸出=」 mapID「)是:
[1] "public java.util.Set org.bridgedb.rdb.SimpleGdbImplCommon.mapID(org.bridgedb.Xref,org.bridgedb.DataSource[]) throws org.bridgedb.IDMapperException"
[2] "public java.util.Map org.bridgedb.rdb.IDMapperRdb.mapID(java.util.Collection,org.bridgedb.DataSource[]) throws org.bridgedb.IDMapperException"
我怎樣才能調用這個Java方法(mapper $ mapID)與RJAva只有外部參照?
是啊,這工作得很好了提供一個列表
.jarray
,可能是:.jarray(列表(),contents.class =「組織/ bridgedb /數據源「)) –