GregorianCalendar is supposed to be able to support any Gregorian cutover dates (from Long.MIN_VALUE to Long.MAX_VALUE). However, there is a "gap" or "overlap" between the last date in Julian and the first day in Gregorian. Support of such "gap" is very expensive at run-time. Also it requires a way to specify a calendar system to disambiguate the given date if there's an "overlap", which can't be done by the Calendar API. But correct Gregorian change support doesn't matter for most applications.
J2SE should provide a Gregorian-only implementation as a Calendar subclass and factory methods to Calendar to get an instance.
###@###.### 2003-09-30