当我从静态ArrayList中获取对象并更改其参数时会发生什么?

时间:2014-05-16 13:04:22

标签: java android arraylist static

我有一个静态ArrayList<Profile>我希望能够从我的应用中的任何活动访问。当我最终解决它时,我会这样做:

Profile profile = Globals.profiles.get(selected);

通常我理解当我从ArrayList检索并反对并对其进行更改时,我正在更改ArrayList中的对象。这是我想要的行为,但我想知道如果ArrayList是静态的,它是否仍然成立。例如,如果我:

profile.setNewName("Mike");

名称是仅针对从静态ArrayList派生的本地对象更改的,还是更新了ArrayList中的对象?就像我说的那样,当ArrayList不是静态时,这是预期的行为。

2 个答案:

答案 0 :(得分:0)

static 表示该成员与该类关联,而不是与该类的具体实例关联。 在你的情况下,它意味着,ArrayList是你的Globals类的成员。

回答你的问题:由于您正在处理Object-References,因此您将直接更新(静态)ArrayList中的Object。

答案 1 :(得分:0)

您将获得与更新ArrayList的非静态实例

相同的行为

我认为你需要研究Java中的静态意义