gpt4 book ai didi

java - 赋值运算符遇到问题

转载 作者:行者123 更新时间:2023-12-01 08:15:41 29 4
gpt4 key购买 nike

嗨,我正在 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]);
}

当我使virtualBoard等于mBoard时,我只是将一个数组分配给另一个数组,但为什么日志不同?这怎么可能?

最佳答案

When I make virtualBoard equals mBoard, I simply assign a array to another array

否,您将mBoard 的值分配给virtualBoard。这些变量的值不是数组 - 它们是引用。因此,在分配之后,mBoardvirtualBoard 的值是对同一数组的引用。然后,您可以在后续语句中更改该数组的内容。

有点像这样的情况:

  • 我有一张纸,上面写着我的家庭住址
  • 我拿了那张纸的副本,并将其交给 Fred
  • Fred 前往纸片上的地址,并将前门漆成绿色。
  • 当我回到家时,我看到我的前门是绿色的。

关于java - 赋值运算符遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13519170/

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