הלינקייה: מגזין חודשי למפתחים

רוצה לשמוע על כל האירועים, המדריכים, הקורסים והמאמרים שנכתבו החודש ?
הלינקייה הינו מגזין חופשי בעברית שמשאיר אותך בעניינים.
בלי ספאם. בלי שטויות. פעם בחודש אצלך בתיבה.

Implementing equals and hashCode

public final class PhoneNumber {
	private final short areaCode;
	private final short prefix;
	private final short lineNumber;
 
	public PhoneNumber(int areaCode, int prefix, int line) {
		this.areaCode = (short) areaCode;
		this.prefix = (short) prefix;
		this.lineNumber = (short) line;
	}
 
	@Override public boolean equals(Object o) {
		if ( o == this ) {
			return true;
		}
 
		if (!(o instanceof PhoneNumber)) {
			return false;
		}
 
		PhoneNumber pn = (PhoneNumber) o;
		return pn.lineNumber == this.lineNumber
			&& pn.prefix == this.prefix
			&& pn.areaCode == this.areaCode;
	}
 
	@Override public int hashCode() { 
		int result = 17; 
		result = 31 * result + areaCode; 
		result = 31 * result + prefix; 
		result = 31 * result + lineNumber; 
 
		return result;
	}
}
course: