当前位置: 首页 > 知识库问答 >
问题:

在不同的数组中存储相同的对象

公孙宇
2023-03-14
User myUser = new User();
User[] array1 = new User[10];
User[] array2 = new User[10];
array1[5] = myUser;
array2[5] = myUser;
temp = myUser;
array2[4] = temp;

编辑:最后一个问题,如何通过值而不是引用来存储它?

共有1个答案

魏岳
2023-03-14

是,数组中只存储对User对象的引用。每个引用指向同一个对象。通过任一数组修改对象将修改相同的一个对象。

这同样适用于将引用存储在变量中,如第二个示例所示。

只有基元类型按值存储,例如intbooleanchar。请注意,它们还有相应的引用类型,例如,对于int,您有integer

 类似资料:
  • 我有两个子类: 行 弧 它们的对象将通过在它们的末端附加它们来创建路径。这些都有自己的“plotCurve”方法。我想将这些对象存储在一个数组中,顺序如下: (我认为“path”应该是超类“path”的对象)当我编写类似这样的代码时; 结果应该显示出来。我应该能看到整条路。(因此,当“直线”的对象出现时,应运行“plotCurve”方法,对于圆弧对象也是如此)。

  • 问题内容: 我正在练习继承。 我有两个相似的类,我想将其同化为一个数组,因此我想将Object类用作超类,因为所有内容都是Object的子类。 因此,例如,我将T类和CT类放入一个名为all的数组中,如下所示: 我跳过了声明,因为那不是我的问题。 当我希望使用循环在数组内调用函数时,我真正的问题就变成了: T和CT分别涉及的类都具有beingShot方法,该方法是公共的。 Eclipse建议将它们

  • 问题内容: 我如何获得两个数组之间的按行比较,从而得到按行的真/假数组? 给定数据: 结果步骤1: 最终结果: 那么我如何获得阵列呢 ? PS:在此示例中,数组和 进行了排序,如果在您的解决方案中数组进行了排序很重要,也请提供信息 问题答案: 这是向量化的解决方案: 请注意,将的每行与按元素进行比较。然后,我们使用+推断每个子数组是否有所有行:

  • 假设我有一个数据帧,如下所示: 我想在时间分组一个重复的数据,并应用不同的函数到和(例如,求和和计算卷加权平均值)...我知道我能做到 将重复索引分组,然后使用或函数获取第一行或最后一行,但这并不是我真正想要的。 是否有方法对不同列中的值进行分组,然后应用不同的(由我编写的)函数?

  • 问题内容: 我已经看到了一些类似的问题两种不同的类型如何使用接口在golang中实现相同的方法?,但就我而言,我的类型没有相同的基本类型。我的类型是不同大小的数组。 因此,可能不重复两种方法GetByte0()? 问题答案: 例如, 输出:

  • 我可以根据编号对下面的代码进行排序吗? 就像数据被排序一样,假设升序应该如下所示: 我的代码: 我试过以下方法,但我觉得我做错了什么。但我不知道是什么。 你能告诉我我做错了什么吗?我可以根据名称对这些数据进行排序吗?