What I know is:- 

"`int hashCode()` returns the memory address of the object as
the default hash value of the object."

If the references `x` and `y` denote two different objects, the expression
`(x.hashCode() == y.hashCode())` is not always false

So, I want to ask in which cases the hash values of 2 different objects are same.