“==”:
==是運算符,用來比較兩個值、兩個對象的內存地址是否相等;
“equals()”:
equals是Object類的方法,默認情況下比較兩個對象是否是同一個對象,內部實現是通過“==”來實現的。
如果想比較兩個對象的其他內容,則可以通過重寫equals方法,
例如:String類就重寫了equals方法,改成了對象的內容是否相等。
具體實現可以參考:https://www.cnblogs.com/hujinshui/p/10038044.html
“hashCode()”:
hashCoed也是Object類里面的方法,返回值是一個對象的哈希碼,同一個對象哈希碼一定相等,但不同對象哈希碼也有可能相等。
如果兩個對象通過equals方法比較相等,那么他的hashCode一定相等;
如果兩個對象通過equals方法比較不相等,那么他的hashCode有可能相等;
例如以下程序:
class Untitled { public static void main(String[] args) { System.out.println("AaAa".hashCode());//2031744 System.out.println("BBBB".hashCode());//2031744 } }