考慮下面的代碼:更改變量影響的間接變量(值VS參考)
Rect pos = new Rect();
for (int i = 0; i < mCols; i++) {
pos = mTiles[1][i].getmPos();
pos.top = pos.top - size;
pos.bottom = pos.bottom - size;
mTiles[0][i].setmPos(pos);
}
我想要做的就是從
mTiles[1][i].mPos
得到值修改它,並將它設置在
mTiles[0][i].mPos
問題是這樣的說法
pos = mTiles[1][i].getmPos();
正在將引用複製到對象而不是對象的值。意思是,當我修改pos.top或pos.bottom時,原始對象被修改。
我猜我缺少一個傳遞對象的概念,通過引用vs值這裏...我認爲我理解。這裏的修復是什麼?我如何定義自定義類是否存在問題?
謝謝。
啊,真好。從來沒有想過這樣做。經過測試和工作。謝謝。 – user432209 2010-09-26 23:56:20