java - Java 中的引用。两个例子,有什么区别?

标签 java pointers reference

我正在和我的 friend 吵架。

是:

public class Thing
{
    private Thing s;
    public void foo(Thing t)
    {
        s = t;
        t.s = this;
    }
}

等同于:

public class Thing
{
    private Thing s;
    public void foo(Thing t)
    {
        s = t;
        s.s = this;
    }
}

我认为是一样的,因为在这两种情况下s都设置为t,但他不同意

最佳答案

它们是相同的,因为您将它们设置为相同的引用。

但是,如果您两次使用 new,那么引用就会不同,那么您的 friend 就是正确的。

关于java - Java 中的引用。两个例子,有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7651592/

相关文章:

c - 将字符传递给 char *

尝试从 JAR 访问 XML 文件时出现 java.io.IOException : Stream closed,

java - 如何使用 selenium (java) 在 iframe 中输入内容?

java - JAXB 是否支持 xsd :restriction?

c - C 中的指针。需要解释这个小代码

c++ - 在 C++ 中映射初始化以实现尝试

java - Struts 2 中的 "No configuration found for the specified action"

java - 如何将第一个图像从 ArrayList<string> 设置到 imageView 中

reference - inout/var 参数与引用类型有什么区别吗?

python - 复制 pandas 数据框和系列