我試圖添加形狀對象的當前位置到我的ArrayList,但是當對象位置改變我的列表對象改變太..JavaSE在列表中添加對象但爲了更改對象爲什麼?
多小時後,搜索後,我發現了一個不同的方式和現在的位置留相同甚至向對象位置改變
這裏引起的ArrayList改變我的第一個代碼:
MyPoint p11 = (MyPoint) getCorners()[0];
MyPoint p22 = (MyPoint) getCorners()[1];
MyPoint p33 = (MyPoint) getCorners()[2];
MyPoint p44 = (MyPoint) getCorners()[3];
這裏是第二個代碼永遠不變的目標位置
MyPoint p11 = new MyPoint(getCorners()[0].getX(), getCorners()[0].getY());
MyPoint p22 = new MyPoint(getCorners()[1].getX(), getCorners()[1].getY());
MyPoint p33 = new MyPoint(getCorners()[2].getX(), getCorners()[2].getY());
MyPoint p44 = new MyPoint(getCorners()[3].getX(), getCorners()[3].getY());
當我使用下面的代碼,我是監控輸出,並與他們改變了第一個代碼,與第二,他們不
System.out.println(nl.get(0).getCorners()[0].getX());
System.out.println(nl.get(0).getCorners()[1].getX());
System.out.println(nl.get(0).getCorners()[2].getX());
System.out.println(nl.get(0).getCorners()[3].getX());
我的問題是,我想了解和學習之間的兩個 代碼的差異。
可否請你給我解釋的傢伙..提前
謝謝...
在一個你創建一個新的對象,並改變它(一個與'新'在裏面)。在另一個引用列表中的對象。 – 2015-04-03 16:48:51