equals 跟== 的区别

==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

==比较的是2个对象的地址,而equals比较的是2个对象的内容(在equals是直接调用object的equals方法时)。
显然,当equals为true时,==不一定为true;

 

说equals比较的是值是完全不对的。要看他是否有重写object的equals方法。如果没有,他比较的肯定是也地址。如果有,那么很有可能他比较的是值
posted @ 2015-08-02 22:01  韦德,往前一步  阅读(139)  评论(0编辑  收藏  举报