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位置是正确的。错误可能就在那里。我正在查