【问题标题】:Why are copying object doesn't affect the first object? [duplicate]为什么复制对象不会影响第一个对象? [复制]
【发布时间】:2019-10-28 16:42:00
【问题描述】:

我是java的初学者,所以我发现有些事情让我感到困惑: 为什么当我们创建如下内容时:

String name = "Abdelillah";
String editName = name;
editName = "Mohammed";

我的问题是为什么 editName 不会更改名称对象? 但是当我们使用数组时,如果我们创建对第一个数组的引用,第二个会影响第一个 我需要知道为什么,谢谢

【问题讨论】:

  • 因为变量editNamename 之间没有任何联系,即使它们碰巧包含相同的值(在这种情况下,是对对象的引用)。 editName = name 只是将name 中的值(对象引用,而不是对象本身)复制到editName 中。这不改变的原因完全相同aint a = 42; int b = a; b = 67; System.out.println(a); // 42

标签: java arrays object reference copy


【解决方案1】:

在第二行中,editName 指向与name 相同的对象。 nameeditName 都指向字符串 "Abdelillah"

您的错误可能是认为第三行更改了editName 指向的对象的内容("Abdelillah")。相反,在第三行中,editName 指向一个不同 对象,即字符串"Mohammed"

【讨论】:

    猜你喜欢
    • 2020-08-09
    • 2021-07-22
    • 2018-07-24
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    相关资源
    最近更新 更多