为什么Java中说的只要两个引用指向不是同一个对象就会返回true是什么意思?

2025-05-13 12:30:52
推荐回答(4个)
回答(1):

private String name;
Person  s1 = new Person("张三");
Person  s2= new Person("李四");
首先  ==   运算符是判断其内存首地址是否相等
s1==s2  返回为true这说明 s1,s2对象在内存中其地址相同的,指向同一对象
s1==s2  返回为false,说明s1,s2对象在内存中其地址不相同,不是指向同一对象

回答(2):

您好,提问者:
    1、如果两个对象的引用指向不是同一个对象的话返回的是false。

    2、如果一个对象引用指向地址不同,也返回false。

    --->请看下面的例子:

public class DiZhiDemo{
    public static void main(String[] args){
        DiZhiDemo a = new DiZhiDemo();
        DiZhiDemo b = new DiZhiDemo();
        System.out.println("同一个对象,但是指向地址不同,返回:" + (a == b));
        Object obj = new Object();
        DiZhiDemo aa = new DiZhiDemo();
        System.out.println("不同对象,指向不是同一个对象,返回:" + (obj == aa));
        //下面是同一个对象,同一个指向地址,才返回true
        DiZhiDemo dd = new DiZhiDemo();
        DiZhiDemo aaa = dd;
        System.out.println("同一个对象,同一个指向地址,返回:" + (dd == aa));
    }
}

回答(3):

谁说的,最好将完整的描述发出来,就这一句话,看不出什么来的……

回答(4):

是返回false吧