I have an address object that I want to create an equals method for. I could have made this quite simple by doing something like the following (shortened a bit):
I'd consider defining some of the equals methods as static class methods, like say for the Street objects. This way you don't ever attempt to call the .equals() method on a null.
A sample function might look like:
public static boolean equals(Object one, Object two)
Also, it's good practice to put checks like
if (obj == null)
return false;
at the very beginning of a function.