我对 ArrayList 保存对象引用的含义有点困惑。有人可以给我一个关于如何在代码中显示的例子吗?另外,arraylist 是否可以有一个对其自身进行引用的元素?谢谢!
最佳答案
您必须开始区分变量、值和对象。
变量是容器。它们包含值。
值可以有两种类型:原始值和引用值。引用值是指向对象的指针。
对象是也有行为的数据结构。
所以在
Object var = new Object();
var
是一个变量。 new Object()
是一个新实例创建表达式,其计算结果为 Object
类型的值,该值是对 Object
类型的对象的引用。然后将该值分配给 var
。
然后您可以使用 var
调用方法
var.toString();
运行时环境将评估var
,它生成一个引用值、检索引用的对象并调用该方法。您可以通过执行以下操作重新分配 var
中存储的值
var = someOtherValue;
现在 var
将保存一个新值。
ArrayList
在幕后使用数组。数组是一种特殊的对象,其中的元素(您可以将其视为字段)本身就是变量。
所以
Object[] arr = new Object[10];
是一个Object
类型的数组,其中包含十个变量。这些变量包含Object
类型的值。再次强调,这些值仅供引用。您可以评估它们,也可以重新分配它们。
arr[3].toString();
arr[7] = "maybe a string";
arr[9] = arr[9]; // possible, but makes no sense
关于java - ArrayList 对对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28423563/