【问题标题】:Do java use invisible pointers? [duplicate]java使用不可见的指针吗? [复制]
【发布时间】:2018-02-15 13:40:46
【问题描述】:

我最近使用两个 int 数组编写了 java。让它成为'a'和'b'。在分配 a=b 之后,我对 b 进行了一些计算。但是没有再次使用 a=b 的所有值 b 被复制到 a 就像一个指向一个位置的指针。这会在我的程序中出错,因为我只像使用普通函数复制值一样使用它。 java真的用不可见的指针吗?

【问题讨论】:

  • 不,a=b 只是让 ab 引用同一个数组。它不会复制b
  • 您应该阅读原始类型和引用类型...
  • 将引用(在您的情况下为 ab)视为同一个对象的别名。如果有人打电话给“mcemperor”,那么我会回应。如果有人大喊“mc”,甚至是“emp”,我也会回应,因为所有这些别名都指的是同一个对象——我。如果我改变我的发型,你会注意到你认识的人“mc”被改变了。但是您也注意到,您所认识的“mcemperor”也发生了变化,因为它们是相同的对象——我! 注意int 是原始类型,原始类型不能这样工作。相比之下,int 数组引用类型。

标签: java


【解决方案1】:

如果你这样做 a=b then 是 a same 与 b - 因此您在 b 上执行的每个更改也会在 a 中看到,因为两个变量都引用同一个对象。

【讨论】:

    猜你喜欢
    • 2011-06-12
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多