请问下 equals与==的区别
分类:java
如题:equals与==的区别
-
==常用于比较原生类型,而equals()方法用于检查对象的相等性。另一个不同的点是:如果==和equals()用于比较对象,当两个引用地址相同,== 返回true。而equals()可以返回true或者false主要取决于重写实现。最常见的一个例子,字符串的比较,不同情况 == 和equals()返回不同的结果。
==表示的是比较两个对象实例的内存地址是否相同。如果不重写equal(),就和==等效,
相等(相同)的对象必须具有相等的哈希码(或者散列码)。
如果两个对象的hashCode相同,它们并不一定相同。
术语来讲的区别:- ==是判断两个变量或实例是不是指向同一个内存空间。
equals是判断两个变量或实例所指向的内存空间的值是不是相同。 - ==指引用是否相同
equals()指的是值是否相同
2年前 - ==是判断两个变量或实例是不是指向同一个内存空间。