Java 交换数组中的对象?

Java 交换数组中的对象?,java,android,Java,Android,我有这个数组ColorObject gameGrid[][]=新的ColorObject[8][8]它是ColorObject类型的精灵对象的网格。每个对象用不同的颜色绘制一个圆 我通过比较触摸输入坐标的x和y与循环中所有对象的位置来选择其中一个,以获得阵列中所选对象的x索引和y索引。然后,我将此索引值用作selectedGridPositionX和selectedGridPositionY 我也得到这样的对象: selectedColorObject=gameGrid[col][row] 最后

我有这个数组
ColorObject gameGrid[][]=新的ColorObject[8][8]它是ColorObject类型的精灵对象的网格。每个对象用不同的颜色绘制一个圆

我通过比较触摸输入坐标的
x
y
与循环中所有对象的位置来选择其中一个,以获得阵列中所选对象的
x
索引和
y
索引。然后,我将此索引值用作
selectedGridPositionX
selectedGridPositionY

我也得到这样的对象:
selectedColorObject=gameGrid[col][row]

最后,在一种方法中,我尝试像这样交换它们:

tempColorObject = gameGrid[selectedGridPositionX + 1][selectedGridPositionY];
gameGrid[selectedGridPositionX + 1][selectedGridPositionY] = selectedColorObject;
gameGrid[selectedGridPositionX][selectedGridPositionY] = tempColorObject;

这几乎奏效。在屏幕上,它们交换,但当我触摸它们时,它们会显示以前对象的值。我会做错什么?我希望我的问题不是太清楚?

尝试使用数组作为静态变量,谢谢,但这没有帮助?还有其他建议吗?你说的“触摸它们”是什么意思?类似于
gameGrid[col][row].getValue()
?可能数据在某个地方重复,而您只在一个地方更新它。@Chechulin我正在进行一些计算,以检查某个区域中哪些对象的X和Y位置是正确的。错误可能就在那里。我正在查