对于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