對於ArrayLists持有對象引用的含義,我有點困惑。有人可以給我一個關於如何在代碼中顯示的例子嗎?另外,arraylist可以有一個元素是一個參考自己?謝謝!ArrayList對象的引用
1
A
回答
0
這意味着不是將對象逐字節地複製,而是將對存儲對象的存儲位置的引用放入列表中。
List<Object> objects = new ArrayList<Object>();
Object myObject = new Object();
objects.add(myObject);
// objects contains one reference to myObject
objects.get(0).modify();
// myObject modified
請注意,原始值(例如int
)將被複制。
0
您必須開始區分變量,值和對象。
變量是容器。它們包含值。
值可以是原型和參考兩種類型。參考值是指向對象的指針。
對象是也有行爲的數據結構。
所以在
Object var = new Object();
var
是一個變量。 new Object()
是一個新的實例創建表達式,其值爲Object
,該值是對Object
類型對象的引用。然後將該值分配給var
。
然後可以使用var
調用方法
var.toString();
運行時環境將評估var
,其產生的基準值,檢索被引用的對象,並調用方法。您可以通過執行
var = someOtherValue;
現在var
將舉行新的價值重新分配存儲在var
值。
ArrayList
在幕後使用數組。一個數組是一個特殊的對象,它的元素(你可以認爲是字段)本身就是變量。
所以
Object[] arr = new Object[10];
是含有10個變量Object
類型的陣列。這些變量包含類型Object
的值。再次,這些值是參考。您可以評估它們,也可以重新分配它們。
arr[3].toString();
arr[7] = "maybe a string";
arr[9] = arr[9]; // possible, but makes no sense
相關問題
- 1. ArrayList對象的引用
- 2. 在ArrayList中存儲對象的引用
- 3. ArrayList中的重複對象是對單個對象的引用?
- 4. 是否複製或引用ArrayList對象?
- 5. 未將對象引用設置爲arrayList對象的實例
- 6. ArrayList ArrayList中的對象
- 7. ArrayList中的對象
- 8. .NET - 添加引用變量的ArrayList VS增加新的對象()來ArrayList的
- 9. ArrayList的對象和抽象
- 10. ArrayList對象
- 11. ArrayList對象(java)
- 12. 子對象上的新ArrayList()不會更新父對象中的引用
- 13. ArrayList的構造沒有創造新的對象引用
- 14. 搜索ArrayList對象:對象的
- 15. 如何使用傳遞給Rhino javascript引擎的ArrayList java對象?
- 16. 使用ArrayList來設置ListView - null對象引用錯誤
- 17. 商店,ArrayList對象
- 18. 對象ArrayList屬性
- 19. ArrayList,對象覆蓋
- 20. 結果對象arrayList
- 21. 的Java:對象的ArrayList
- 22. ArrayList內的對象更新
- 23. ArrayList的對象直覺
- 24. 搜索對象的ArrayList
- 25. 自定義對象的Arraylist
- 26. 類和ArrayList的對象
- 27. 替換ArrayList中的對象
- 28. 對象的ArrayList幫助java
- 29. 的Java對象和ArrayList中
- 30. 隨機對象的ArrayList
您是否一般知道,參考是什麼? – Tom 2015-02-10 03:30:28
我相信一個引用是一個對象引用的東西..例如.. String hello = new String(); hello是對字符串對象的引用。我對麼? – swordhunter2000 2015-02-10 03:35:51
Tom的問題很好,但我會說在Java中我們通常不會區分「對象的引用」和「對象」。如果有人告訴我列表中存有「引用對象」,我只是想提醒一下,如果對象在列表外被更改,列表中的對象也是如此:它們是同一個對象。 – DavidS 2015-02-10 03:36:30