对于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 ArrayList中的对象
- 2. ArrayList的对象和抽象
- 3. ArrayList对象
- 4. 子对象上的新ArrayList()不会更新父对象中的引用
- 5. ArrayList的构造没有创造新的对象引用
- 6. 搜索ArrayList对象:对象的
- 7. 如何使用传递给Rhino javascript引擎的ArrayList java对象?
- 8. 商店,ArrayList对象
- 9. 结果对象arrayList
- 10. ArrayList,对象覆盖
- 11. 的Java:对象的ArrayList
- 12. ArrayList检索对象的值
- 13. 搜索对象的ArrayList
- 14. 对象消失的ArrayList
- 15. ArrayList的自定义对象
- 16. 排序ArrayList的对象
- 17. ArrayList对象是Java的Android
- 18. 每个对象的新ArrayList
- 19. 超类的对象到arraylist?
- 20. Java新的ArrayList对象myList
- 21. ArrayList ArrayList的索引
- 22. 将两个arrayList引用到同一对象
- 23. ArrayList通过日期对象引用传递?
- 24. 传递对象列表或ArrayList对象
- 25. Php列表对象到java arraylist对象
- 26. 使用BufferedImages序列化对象的ArrayList
- 27. 使用对象作为类型的ArrayList
- 28. ArrayList通过属性对象ArrayList保存?
- 29. ArrayList从其他ArrayList中删除对象?
- 30. Java对对象的引用
您是否一般知道,参考是什么? – 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