在学习新的编程语言时,您可能遇到的一个可能的障碍是,默认情况下,该语言是按值传递还是按引用传递.
所以这是我对你们所有人的问题,用你最喜欢的语言,它是如何实际完成的?什么是可能的陷阱?
language-agnostic oop parameters pass-by-reference pass-by-value
我认为当你将对象传递给Java中的方法时,它们应该是有价值的.
这是我的代码:
public class MyClass{
int mRows;
int mCols;
Tile mTiles[][]; //Custom class
//Constructor
public MyClass(Tile[][] tiles, int rows, int cols) {
mRows = rows;
mCols = cols;
mTiles = new Tile[mRows][mCols];
for (int i=0; i < mRows; i++) {
for (int j=0; j < mCols; j++) {
mTiles[i][j] = new Tile();
mTiles[i][j] = tiles[i][j];
}
}
}
Run Code Online (Sandbox Code Playgroud)
此时,mTiles对象的任何更改都会反映回tiles对象.任何想法如何解决这一问题?
谢谢大家.