gpt4 book ai didi

java - 在 Java 中将对象从数组复制到数组

转载 作者:行者123 更新时间:2023-12-02 00:09:28 26 4
gpt4 key购买 nike

我正在尝试将我从一个数组创建的对象复制到 Java 中相同类型的另一个数组。当我运行程序时,我收到 NullPointerException。

相关的类函数是:

private int mState;
public Cell(int pRow, int pColumn, int pState) {
//other things
setState(pState);
}

public void setState(int pNewState) {
mState = pNewState;
}

public void setDead() {
mState = DEAD;
}

以及发生错误的行:

mFutureGeneration[i][j].setDead();

该数组定义为

private Cell [][] mFutureGeneration;

然后尺寸为

mFutureGeneration = new Cell[100][100]; 

它的内容来自:

Cell [][] vSeedArray = new Cell[100][100]; 

填充为

for (int i = 0; i<100; i++) {
for (int j = 0; j<100; j++) {
int vNewState = mGenerator.nextInt(2) - 1;
vSeedArray[i][j] = new Cell(i,j,vNewState);
}
}

我认为问题发生在复制中,但我总是觉得 Java 是通过引用复制的,所以我不明白为什么它会失败。

我用循环复制内容

for(int i = 0; i<vSeedArray.length; i++) {
for(int j=0; j<vSeedArray[i].length; j++) {
mCurrentGeneration[i][j] = vSeedArray[i][j];
}
}

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

我不确定您是否分配过任何“Cell”对象 - 只是保存它们的数组。

如果是这样,这可能是导致 NullPointer 异常的原因。

好的链接:

向下滚动到“对象数组”部分。

“希望有帮助!

关于java - 在 Java 中将对象从数组复制到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13149776/

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