title: String from object does not equal string from the same object in an ArrayList
body: <p>I'm building a catalogue using an ArrayList to hold an object called boot. </p>
  
  <p>I haverun into a problem with one of the methods in my catalogue class. The method is supposed to run through the catalogue and find the boot object with the matching ID (A string value). </p>
  
  <p>The catalogue is filled with these objects; like this:</p>
  
  <pre><code>Boot boot1 = new Boot("Extreme Hiking Boot", "A123456", "For extreme terrains", "Khaki", "Canvas", "For all terrains", 65.50, 100, 5);
  Boot boot2 = new Boot("Casual Hiker", "B123456", "A hiking boot for the casual person", "Brown", "Leather", "Rocky", 55.95, 200, 3);
  Boot boot3 = new Boot("Broken Boot", "Y123456","A broken boot", "Yellow", "Plastic", "Soft Ground", 110.45, 400, 1);
  </code></pre>
  
  <p>Here's the method that's causing problems:  </p>
  
  <pre><code>public double getPriceForProduct(String ID){
      double price = -1.0;
  
      for(Boot b : catalogue){
          if(b.getID().equals(ID)){
              price = b.getPrice();
          }
          else{
              System.out.println("We don't have a boot with that ID in stock.");
              System.out.println(b.getID()+"\n\n");
          }
      }
      return price;
  }
  </code></pre>
  
  <p>It returns this to my console: </p>
  
  <pre><code>We don't have a boot with that ID in stock.
  B123456
  
  
  We don't have a boot with that ID in stock.
  Y123456
  
  
  We don't have a boot with that ID in stock.
  A123456
  
  
  We don't have a boot with that ID in stock.
  Y123456
  </code></pre>
  
  <p>I have a method that uses the same advanced for loop set up in another method that works fine at comparing doubles. </p>
  
  <p>I am confused as to why this advanced for loop is not working. </p>