在java中,实现深层对象复制功能有点困难.您采取了哪些步骤来确保原始对象和克隆的对象没有共享?
我正在尝试用 Java 编写 conways 的生活游戏,但它没有正常工作。我的意思是,静物可以工作,但闪光灯和船只不行。
这是我的算法的代码,播种由单独的鼠标侦听器处理(按预期工作)。
int[][] state1 = new int[80][80];
int[][] state2 = new int[80][80];
public void logic(){
state2=state1;
for(int i=0;i<80;i++){
for(int j=0;j<80;j++){
int sum=state1[(i-1+80)%80][j]+state1[(i-1+80)%80][(j-1+80)%80]+state1[i][(j-1+80)%80]+state1[(i+1)%80][(j-1+80)%80]+state1[(i+1)%80][j]+state1[(i+1)%80][(j+1)%80]+state1[i][(j+1)%80]+state1[(i-1+80)%80][(j+1)%80];
if(sum!=2 && sum!=3){
state2[i][j]=0;
}
else if(sum==3){
state2[i][j]=1;
}
}
}
state1=state2;
}
Run Code Online (Sandbox Code Playgroud) 我基本上寻找一个通用函数副本(数组),它将返回相同的n维数组,而不会引用前一个数组.