码迷,mamicode.com
首页 > 编程语言 > 详细

Java:Java中equlas和==的区别

时间:2020-01-18 01:01:27      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:一个   引用   16px   span   返回   操作   bool   空间   object类   

 

==

比较的是栈内存的地址值用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。

基本数据类型如:byte,short,char,int,long,float,double,boolean的值存储在栈内存中,所以==也可以比较基本数据类型的值。

 

equals

比较的是两个对象的堆内存的值,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。

引用数据类型如:接口、类、数组等非基本数据类型每new一次就会重新开辟一个新的堆内存空间,equals比较的是对象的堆内存值。

Java:Java中equlas和==的区别

标签:一个   引用   16px   span   返回   操作   bool   空间   object类   

原文地址:https://www.cnblogs.com/nhdlb/p/12207775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!