首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:包含原始对象引用的对象内部的对象引用

Java:包含原始对象引用的对象内部的对象引用
EN

Stack Overflow用户
提问于 2017-01-27 18:19:43
回答 2查看 163关注 0票数 1

因此,我挣扎了很长一段时间才找到有关这方面的文档,但失败了。问题更多的是“它是如何工作的”,而不是对代码片段的解释。

麻烦是:

代码语言:javascript
复制
xObject x = new xObject();
yObject y = new yObject( x );

x.add( y );

其中,xObject有:

代码语言:javascript
复制
private ArrayList<yObject> yObjects;    

public void add( yObject _y ) {
    this.yObjects.add( _y );
}

yObject有:

代码语言:javascript
复制
private xObject x;

public yObject( xObject _x ) {
    this.x = _x;
}  

现在,是否可以在x内的y中使用ArrayList s呢?

尝试通过测试来解决问题是不可能的,因为每当我尝试时,我似乎没有必要的脑力来避免困惑(为什么我希望比我在这里的人更聪明的人可能能够帮助我)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-27 19:20:03

ArrayList<yObject>不包含yObjects:它包含对yObjects的引用。真正包含任何对象的唯一东西是堆。

这和你如何把你朋友的名字放在你手机的“联系人”列表中没有什么不同,她也可以把你的名字放在她手机的联系人列表中。这是没有矛盾的,因为你的联系人列表中没有一个包含实际的人:列表中只包含关于如何与人联系的信息。类似地,Java变量和Java容器实际上并不包含对象:它们只包含查找这些对象并与它们交互所需的信息。

票数 3
EN

Stack Overflow用户

发布于 2017-01-27 18:22:01

是的,你可以在x里面玩y,因为它是对对象的引用。因此,如果在x中更新y,x外部的y也将被更新。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41900540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档