java - 如何使用 rJava 访问枚举?

标签 java r rjava

我正在使用名为 CDK 的第三方库。我正在尝试使用 rJava 创建类 Bond 的实例:

o1 <- .jnew("org.openscience.cdk.Atom","O")
o2 <- .jnew("org.openscience.cdk.Atom","O")
J("org.openscience.cdk.Bond",o1,o2,
  "org.openscience.cdk.interfaces.IBond.Order.SINGLE")

问题是在此接口(interface)的 IBond 中定义了一个枚举,我需要将其作为参数传递给构造函数 Bond(IAtomatom1, IAtomatom2, IBond.Order order) 但我不知道如何使用 rJava 来做到这一点。

我试过了

J("org.openscience.cdk.Bond",o1,o2,
  J("org.openscience.cdk.interfaces.IBond.Order")$SINGLE)

希望 SINGLE 可以像任何其他静态字段/方法一样被访问,但它不起作用。

有没有办法使用 rJava 将 Enum 传递给方法?

最佳答案

我找到了执行此操作的方法,我使用美元符号来引用在 IBond 接口(interface)中声明的公共(public) Enum Order,然后使用另一个美元符号来引用访问枚举值:

J("org.openscience.cdk.interfaces.IBond")$Order$SINGLE

关于java - 如何使用 rJava 访问枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33635040/

相关文章:

java - xml DOM-换行符在 java DOM 解析器中添加文本/属性内容两次

r - R 中的惰性包依赖

在 R 中使用 rJava 的 Java 包装器

java - 找不到参数的方法 jaxws() [com.sun.xml.ws :jaxws-tools:2. 1.4]

java - ListView 未显示在我的 Activity 中

java - 查找所有没有 NoClassDefFoundError 的私有(private)字段

r - 并行化不适用于 foreach 包

oop - 在 R 的 S4 中定义具有多个可选空插槽的类的有效方法?

java - 新的 REngine 启动并立即停止

java - 无法在 ubuntu 系统上安装 rJava