public final class HashcodeCheck extends Object
HashcodeCheck provides algorithms for check the
hashcode
contract of an given object.| Constructor and Description |
|---|
HashcodeCheck() |
| Modifier and Type | Method and Description |
|---|---|
static <T> Optional<ContractViolation> |
consistency(T object)
Checks consistency of the given object, that means according to
Object.hashCode()
that this method should evaluate the following contract condition:
Whenever it is invoked on the same object more than once during an execution of a Java
application, the hashCode method must consistently return the same integer, provided
no information used in equals comparisons on the object is modified. |
static <T> Optional<ContractViolation> |
equality(T object,
T anotherObject)
Checks equality of hash code from the given objects that should be equal(if not an
IllegalArgumentException will be thrown), that means according to
Object.hashCode() that this method should evaluate the following contract condition:
If two objects are equal according to the equals(Object) method, then calling the
hashCode method on each of the two objects must produce the same integer result. |
static <T> Optional<ContractViolation> |
unequality(T object,
T anotherObject)
Checks unequality of hash code from the given objects that should be unequal, that means
according to
Object.hashCode() that this method should evaluate the following
contract condition:
It is not required that if two objects are unequal according to the
Object.equals(java.lang.Object) method, then calling the hashCode
method on each of the two objects must produce distinct integer results. |
public static <T> Optional<ContractViolation> consistency(T object)
Object.hashCode()
that this method should evaluate the following contract condition:
hashCode method must consistently return the same integer, provided
no information used in equals comparisons on the object is modified. This integer
need not remain consistent from one execution of an application to another execution of the
same application.
Object.hashCode()public static <T> Optional<ContractViolation> equality(T object, T anotherObject)
IllegalArgumentException will be thrown), that means according to
Object.hashCode() that this method should evaluate the following contract condition:
equals(Object) method, then calling the
hashCode method on each of the two objects must produce the same integer result.
public static <T> Optional<ContractViolation> unequality(T object, T anotherObject)
Object.hashCode() that this method should evaluate the following
contract condition:
Object.equals(java.lang.Object) method, then calling the hashCode
method on each of the two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results for unequal objects may
improve the performance of hash tables.
Copyright © 2015–2018 Alpha Ro Group UG (haftungsbeschrÀngt). All rights reserved.