Which of the following statements about the hashCode method is true?
A) The hashCode method has long as its return value.
B) It is required that if two objects are unequal according to the
equals(java.lang.Object) method, then calling the hashCode method on
each of the two objects must produce distinct integer results.
C) 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.
D) 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.
E) This method is supported for the benefit of lists
such as those provided by java.util.ArrayList.