NoSuchMethodError: <init> when using rJava to create a new object
NoSuchMethodError: <init> when using rJava to create a new object
最近在使用rJava的时候遇到了一个问题。
首先我创建一个 public class DirectedEdge:
public class DirectedEdge {
public int v;
public int w;
public double weight;
public DirectedEdge(){}
public DirectedEdge(int v, int w, double weight) {
this.v = v;
this.w = w;
this.weight = weight;
}
}
然后我 运行 在 RStudio 上编写以下代码:
.jinit();
.jaddclassPath('XXXXXX');
.jnew('DirectedEdge');
.jnew('DirectedEdge',1,2,0.1);
我已经将 class 路径设置为我的 .class 文件所在的位置,但是第三行设置了 运行 而第四行失败了。 RStudio 给了我一个例外:
Error in .jnew("DirectedEdge", 1, 2, 0.1) : java.lang.NoSuchMethodError: <init>
我也尝试了 rJava 文档中的示例:
.jnew('java/lang/String',"Hello World!")
效果很好。所以有什么问题?非常感谢。
数字的默认类型是double,所以用.jnew("DirectedEdge", as.integer(1), as.integer(2), 0.1)代替
最近在使用rJava的时候遇到了一个问题。 首先我创建一个 public class DirectedEdge:
public class DirectedEdge {
public int v;
public int w;
public double weight;
public DirectedEdge(){}
public DirectedEdge(int v, int w, double weight) {
this.v = v;
this.w = w;
this.weight = weight;
}
}
然后我 运行 在 RStudio 上编写以下代码:
.jinit();
.jaddclassPath('XXXXXX');
.jnew('DirectedEdge');
.jnew('DirectedEdge',1,2,0.1);
我已经将 class 路径设置为我的 .class 文件所在的位置,但是第三行设置了 运行 而第四行失败了。 RStudio 给了我一个例外:
Error in .jnew("DirectedEdge", 1, 2, 0.1) : java.lang.NoSuchMethodError: <init>
我也尝试了 rJava 文档中的示例:
.jnew('java/lang/String',"Hello World!")
效果很好。所以有什么问题?非常感谢。
数字的默认类型是double,所以用.jnew("DirectedEdge", as.integer(1), as.integer(2), 0.1)代替