比方说,我有Employee类,它具有正确覆盖的equals和hashcode方法。
public class Employee {
private int eno;
private String firstName;
private String lastName;
@Override
public int hashCode() {
System.out.println("hashcode called");
final int prime = 31;
int result = 1;
result = prime * result + eno;
result = prime * result + ((firstName == null) ? 0 : firstName.hashCode());
result = prime * result + ((lastName == null) ? 0 : lastName.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
System.out.println("equals called");
if (this == obj)
return true; …Run Code Online (Sandbox Code Playgroud)