title: Java HashMap get works but containsKey does not
body: <p>I am trying to locate a key in a HashMap. I can print the selected key by using 'get'   but when I use 'containsKey' in an if statement, it is not found.</p>
  
  <p>I KNOW the key is present in the Map but it keeps returning false. Any ideas people?</p>
  
  <p>My code:</p>
  
  <pre><code>public static boolean checkLowerStructuralSupport(Location location) {
  
      boolean hasSupport = false;
  
      Location supportingLocation = new Location(location.getX(), location.getY(), location.getZ() - 1);
  
      System.out.println(_levels.get(supportingLocation.getZ()).getLevelSites2().get(supportingLocation)); //works
  
      if (_levels.get(supportingLocation.getZ()).getLevelSites2().containsKey(supportingLocation)) {
          hasSupport = true;
      } else {
          hasSupport = false;
      }
  
      return hasSupport;
  }
  </code></pre>
  
  <p>Here is the code for the Location class:</p>
  
  <pre><code>public class Location {
  
      protected int _x;
      protected int _y;
      protected int _z;
  
      public Location(int xAxis, int yAxis, int zAxis) {
          this._x = xAxis;
          this._y = yAxis;
          this._z = zAxis;
      }
  
      public void equals() {
          //not implemented yet
      }
  
      public void HashCode() {
          //not implemented yet
      }
  
      public String toString() {
          String locationString = Integer.toString(_x) + Integer.toString(_y) + Integer.toString(_z);
          return locationString;
      }
  
      public void setX(int XAxis) {
          this._x = XAxis;
      }
  
      public int getX() {
          return this._x;
      }
  
      public void setY(int YAxis) {
          this._y = YAxis;
      }
  
      public int getY() {
          return this._y;
      }
  
      public void setZ(int ZAxis) {
          this._z = ZAxis;
      }
  
      public int getZ() {
          return this._z;
      }
  
  }
  </code></pre>