在java中设置两个彼此相等的数组

ymc*_*331 1 java arrays jvm

我正在编写一个程序,它有一个叫做data的双数组.

到目前为止,我的代码如下.

public class DataSet {
private double[] data;
private int dataSize;

public DataSet(){
    dataSize = 0;
    data = new double [10];
}

public void add(double x){
    if(dataSize>= data.length){
        double[] newData = new double[data.length*2];
        System.arraycopy(data, 0, newData, 0, data.length);
        newData=data;
        newData[dataSize]=x;
        dataSize++;
    }
    else{
        data[dataSize] = x;
        dataSize++;
    }
}
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在使用add方法向数组添加新值.但是我不确定的是,当我这样做时

newData=data;
Run Code Online (Sandbox Code Playgroud)

我可以将此更改转到下一行吗?

data[DataSize] = x;
Run Code Online (Sandbox Code Playgroud)

我之所以要问的是,通过设置两个数组是否彼此相等,每当我调用数据时,我实际上是在调用newData.

Pet*_*rey 5

你需要重新分配data.JVM中还有一些工具可以帮助您.

public void add(double x) {
    if (dataSize >= data.length)
        data = Arrays.copyOf(data, data.length * 2);
    data[dataSize++] = x;
}
Run Code Online (Sandbox Code Playgroud)