考虑下面的代码:更改变量影响的间接变量(值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