altoslib/altosuilib: Fix equals methods, add hashCode
[fw/altos] / altoslib / AltosLatLon.java
index dc606ccb74bb517c5e53bded970937bca073c913..1bcf6fd8040486d74559b93dabd437b220882077 100644 (file)
@@ -21,9 +21,17 @@ public class AltosLatLon {
        public double   lat;
        public double   lon;
 
-       public boolean equals(AltosLatLon other) {
-               if (other == null)
+       public int hashCode() {
+               return new Double(lat).hashCode() ^ new Double(lon).hashCode();
+       }
+
+       public boolean equals(Object o) {
+               if (o == null)
                        return false;
+               if (!(o instanceof AltosLatLon))
+                       return false;
+
+               AltosLatLon other = (AltosLatLon) o;
                return lat == other.lat && lon == other.lon;
        }