gpt4 book ai didi

java - rJava .jnew java.lang.NoSuchMethodError

转载 作者:行者123 更新时间:2023-11-30 02:06:35 26 4
gpt4 key购买 nike

我是“rJava”新手,几个小时内遇到了一些麻烦。

library(rJava)
.jinit(classpath="C:\\Users\\XXX\\desktop\\example")
.jclassPath()
# [1] "C:\\Users\\XXX\\Documents\\R\\win-library\\3.5\\rJava\\java"
# [2] "C:\\Users\\XXX\\desktop\\example"
s=.jnew("java/lang/String", "Hello World")
.jcall(s, "I", "length")
# 11
.jcall('Exampletest', returnSig='I', method='test')
# 1
.jnew('Exampletest', 3)
# Error in .jnew("Exampletest", 3) : java.lang.NoSuchMethodError: <init>

这很奇怪,因为我已经成功调用了函数“test”,但仍然无法新建对象。

java代码在这里

public class Exampletest {

static public int test() {
return 1;
}

public Exampletest(int x) {
this.x = x;
}

private int x;
}

任何想法都值得赞赏!

最佳答案

啊哈,去年我开始使用rJava时就遇到了这个问题。这个问题很简单,因为在r中,3是一个数字,而不是一个整数。所以你应该使用 3L 而不是 3

顺便说一句,如果参数在 java 中具有 long 类型,则 3L 将不再起作用。您应该再次使用 .jlong​​(3) 而不是 3L。函数的签名在rJava中相当重要!

关于java - rJava .jnew java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51152150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com