JavaSE8基础 ==和equals 比较两个引用类型的变量的地址值是否相同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE8基础 ==和equals 比较两个引用类型的变量的地址值是否相同相关的知识,希望对你有一定的参考价值。

 

 

    os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)    

 


code:

package jizuiku.eleven302;

public class Demo {
	public static void main(String[] args) {

		Demo d0 = new Demo();//d0指向一个对象
		Demo d1 = new Demo();//d1指向另外一个对象
		Demo d2 = d1;//d0、d1同一个地址的两个名字
		
		System.out.println(d0 == d1);
		System.out.println(d0 == d0);
		System.out.println(d2 == d1);
		
		System.out.println("----------------");
		
		System.out.println(d0.equals(d1));
		System.out.println(d0.equals(d0));
		System.out.println(d2.equals(d1));
		
	}
}

 


result:

技术分享

 

 

SourceCode:

    public boolean equals(Object obj) {
        return (this == obj);
    }

 

 


Java优秀,值得学习。
学习资源:API手册+Java源码。






以上是关于JavaSE8基础 ==和equals 比较两个引用类型的变量的地址值是否相同的主要内容,如果未能解决你的问题,请参考以下文章

equals和==的区别 (Java基础)

Java基础(basis)-----==和equals()的区别

Java基础之equals方法和"= ="的区别

java基础+面试题

Java 中 hashCode 和 equals 方法是什么?它们和 == 各有什么区别?

equals和==的区别?