我正在使用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 /数据源“)) –