==和equals的区别


1.对==的理解:

1).如果==两边是八种基本数据类型时,==比较的是两边的内容(等号两边的内容必须是同一种类型的变量,才能作比较)是否相等。

例:
==和equals的区别
程序运行的结果是:
==和equals的区别
 

 

因此可以看出来,对于基本数据类型,==比较的是两边变量的值是否相等。
2).如果==两边引用数据类型时,==判断的是两边的引用数据类型的对象的内存地址是否一致,如果==两边的内存地址一致,则表示==两边是同一对象,否则就是不同对象。
例:
==和equals的区别
 

程序运行的结果:


==和equals的区别
 
对于引用数据类型,==比较就是对象的内存地址是否一致。
2.对Equals的理解:
equals是一个方法,因此必须要有对象才能够使用,故equals的左边一定是一个对象,因而equals比较两个内容的格式是:对象.equals(比较的内容)。
例:
==和equals的区别
 

程序运行的结果是:
==和equals的区别
 

由于equals是一个方法,在使用的时候,要注意一定要有对象才可以使用equals,因此,基本数据类型之间的比较不能够用equals,只能用==。