use*_*840 0 java arrays android
嗨,我在Android中使用AI进行棋盘游戏.
我遇到了一种对我没有意义的情况.
码:
for(int y = 0; y < BOARD_SIZE ; y++)
{
Log.i(TAG, "before calling virtual mBoard:" + mBoard[y]);
}
virtualBoard = mBoard; // int arrays
virtualBoard[x] = nextMove(counter);
for(int j = 0; j < BOARD_SIZE ; j++)
{
Log.i(TAG, "before calling AIValue mBoard:" + mBoard[j]);
}
Run Code Online (Sandbox Code Playgroud)
当我使virtualBoard等于mBoard时,我只是将一个数组分配给另一个数组,但为什么日志不同?怎么可能?
当我使virtualBoard等于mBoard时,我只是将一个数组分配给另一个数组
不,你指定的值mBoard来virtualBoard.这些变量的值不是数组 - 它们是引用.这样分配后,值mBoard和virtualBoard是同一个数组引用.然后,您可以在后续语句中更改该数组的内容.
这有点像这种情况:
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |