Compares the receiver object (this) with the argument object (that) for equivalence.
Compares the receiver object (this) with the argument object (that) for equivalence.
Any implementation of this method should be anequivalence relation:
- It is reflexive: for any instancex of typeAny,x.equals(x) should returntrue. - It is symmetric: for any instancesx andy of typeAny,x.equals(y) should returntrue if and only ify.equals(x) returnstrue. - It is transitive: for any instancesx,y, andz of typeAny ifx.equals(y) returnstrue andy.equals(z) returnstrue, thenx.equals(z) should returntrue.
If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to overridehashCode to ensure that objects which are "equal" (o1.equals(o2) returnstrue) hash to the samescala.Int. (o1.hashCode.equals(o2.hashCode)).
the object to compare against this object for equality.
true if the receiver object is equivalent to the argument;false otherwise.
Calculates a hash code value for the object.
Calculates a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returnsfalse). A degenerate implementation could always return0. However, it is required that if two objects are equal (o1.equals(o2) returnstrue) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with theequals method.
the hash code value for this object.