-2

I have a Map with a GregorianCalendar key and Boolean value. The for loop. The Map.Entry<...> is underlined and it says

Incompatible types.
Required: Object
Found: Entry<java.util.GregorianCalendar, java.lang.Boolean>

My code is:

public static int getDay(GregorianCalendar day) {
    Map days = getDays();

    for (Map.Entry<GregorianCalendar, Boolean> entry : days.entrySet())
    {

    }

    return -1;
}

If someone knows what I'm doing wrong please help me. Really appreciate.

  • **Use [`ZonedDateTime`](https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html)**, not `GregorianCalendar`. The terribly troublesome old date-time classes such as `java.util.Date`, [`java.util.Calendar`](https://docs.oracle.com/javase/10/docs/api/java/util/Calendar.html), and `java.text.SimpleDateFormat` are now legacy, supplanted by the [*java.time*](https://docs.oracle.com/javase/10/docs/api/java/time/package-summary.html) classes built into Java 8 and later. See [*Tutorial* by Oracle](https://docs.oracle.com/javase/tutorial/datetime/TOC.html). – Basil Bourque Sep 24 '18 at 00:57

1 Answers1

0

You've defined days as a raw Map instead of defining its generics:

Map<GregorianCalendar, Boolean> days = getDays();
Mureinik
  • 297,002
  • 52
  • 306
  • 350