title: How to get another Calendar result from same instance?
body: <p>I'm trying to make an ArrayList with Holidays and dates (both Strings), then convert date to Calendar, get the day of week (using DAY_OF_WEEK) and/or sort by date/name, but for some reason I get the same result (Calendar) for every item on the list. </p>
  
  <p>This is my code:</p>
  
  <pre>    public static ArrayList  listOfHolidays = new ArrayList();
  
          Holidays.holidaysList.add(new Holidays("Sukkot", "09/10/2014"));
          Holidays.holidaysList.add(new Holidays("Hanukkah", "17/12/2014"));
          Holidays.holidaysList.add(new Holidays("Purim", "16/03/2014"));
  </pre>
  
  <p>Holidays class:</p>
  
  <pre>
  
      Calendar calendar = Calendar.getInstance();
  
      @Override
      public String toString() {
      //DayOfWeek is just an enum of days (strings)
          return holidayName + " falls on "
                      + DayOfWeek.values()[Calendar.DAY_OF_WEEK - 1]; // Here i get the same day each time
      }
  
      @Override
          public int compareTo(Holidays another) {
              if(MainActivity.sortByName == true) {
                      return holidayName.compareToIgnoreCase(another.holidayName);
              }
              return convertStringToCal() - another.convertStringToCal();
          }
  
          private int convertStringToCal() {
              int year, month, day;
              day = Integer.valueOf(holidayDate.substring(0, 2));
              month = Integer.valueOf(holidayDate.substring(3, 5));
              year = Integer.valueOf(holidayDate.substring(6, 10));
              calendar = Calendar.getInstance();
              calendar.set(year, month, day);
              return (int) calendar.getTimeInMillis();
          }
  
  </pre>
  
  <p>I call <pre>Collections.sort()</pre> from within a radioButton method to sort.</p>