当我运行方法时,结果1和2是相同的,我需要结果是不同的数据集,因为我通过不同的数据集。
这是我目前所掌握的。
public class Stat {
private double[] data;
public Stat() {
double[] stat = new double[1];
stat[0] = 0.0;
}
public Stat(double[] d) {
double[] newData = new double[d.length];
newData=d;
data=newData;
}
public String toString() {
String toString="[";
for(int i=0; i<data.length-1; i++) {
toString = toString + data[i] + ", ";
}
return toString;
}
}
而主要的方法代码是:
public class StatTester {
public static void main(String[] args) {
double[] data = {10.0, 20.0, 30.0};
Stat stat1 = new Stat(data);
data[0] = 100.0;
data[1] = 200.0;
data[2] = 300.0;
Stat stat2 = new Stat(data);
System.out.println("stat1 data = " + stat1.toString());
System.out.println("stat2 data = " + stat2.toString());
System.out.println("The two arrays should be different");
结果在两个相同的数据集[100.0,200.0,300.0]时打印stat1和stat。
我需要stat 1为10.0、20.0、30.0和stat 2为100.0、200.0、300.0
我试图改变…的命令
newData=d;
data=newData;
至
data=newData;
newData=d;
但这给了我同样的结果。我如何解决这个问题?
这是因为您只将参数中传递的数组的引用分配给stat
构造函数,因此stat
中的data
实例变量和main
中的data
局部变量都指向同一个数组,并且更新main
方法中的数组会更新stat
类中的data
引用的数组。
public Stat(double[] d) {
double[] newData = new double[d.length];
newData=d; // here
data=newData; //here
}
因此,您需要复制传递的数组,以便更改作为参数传递的数组不会更新stat
类中引用的数组,如下所示:
public Stat(double[] d) {
data = Arrays.copyOf(d, d.length);
}
在下面的代码中,我编写了两种方法: 将变量定义为String的变量 根据键入的内容返回两种不同结果的方法 我有一个名为的变量在中,而中的参数被命名为。在中,我使用而不是-为什么这样工作? 调用方法时,参数是否无关紧要? 我知道,当输入一个返回某个内容的方法时,必须对其进行定义,参数进一步定义该方法将要处理的内容,因此,我假设,当从另一个方法调用所述方法时,必须使用相同的参数,但情况似乎并非如此。
我在Java中有两个几乎相同的方法。唯一的区别是它们有不同的参数类型。它们使用泛型并返回输入参数的类型T。我怎样才能摆脱重复的代码?下面是我的两个方法。最后,它们都使用不同的类型调用Spring。否则,方法是相同的。
问题内容: 有没有一种方法可以使存根方法在后续调用中返回不同的对象?我想这样做是为了测试来自的不确定响应。即,不管方法的返回顺序如何进行测试,结果都保持恒定。 我要测试的代码看起来像这样。 问题答案: 你可以使用方法来做到这一点(与链接时): 或使用等效的静态doAnswer方法:
问题内容: 在Bruce Eckel的“ Thinking In Java,第四版”的第428页(有关类型信息的章节)中,具有以下示例: 也许我有点累,但是我看不到add()方法中对add()的调用是如何工作的。我一直认为它应该有一个引用,或者是一个静态方法(并且我在ArrayList或List中找不到静态add())。我想念什么? 我只是为自己测试,发现这可行: 问题答案: Java为这样的方法
我正在编写一个具有广泛单元测试覆盖率的应用程序。 我使用Mockito来模拟我的类。 来自()世界,在这个世界中,我可以使用链接调用,以便在后续调用中返回不同的值。 我希望这能奏效。 然而它抛出: 有更好的办法吗?
Swagger用相同的路径和方法但不同的参数覆盖方法 我有一个带有Spring Boot 2.3.5.RELEASE,webflux和springfox 3.0.0的应用程序。我开发了两个具有相同路径但参数不同的GET方法,一个不接收参数并返回list,另一个返回findAll。 情况是,Swagger只生成其中一种方法的文档,有时是列表,有时是分页。我怎么能告诉swagger他们是不同的方法,并