915 |
*/ |
*/ |
916 |
public boolean equals(Object o) |
public boolean equals(Object o) |
917 |
{ |
{ |
918 |
return (o instanceof Calendar) |
if (! (o instanceof Calendar)) |
919 |
&& getTimeInMillis() == ((Calendar) o).getTimeInMillis(); |
return false; |
920 |
|
Calendar cal = (Calendar) o; |
921 |
|
if (getTimeInMillis() == ((Calendar) o).getTimeInMillis() |
922 |
|
&& cal.getFirstDayOfWeek() == getFirstDayOfWeek() |
923 |
|
&& cal.isLenient() == isLenient() |
924 |
|
&& cal.getMinimalDaysInFirstWeek() == getMinimalDaysInFirstWeek()) |
925 |
|
{ |
926 |
|
TimeZone self = getTimeZone(); |
927 |
|
TimeZone oth = cal.getTimeZone(); |
928 |
|
return self == null ? oth == null : self.equals(oth); |
929 |
|
} |
930 |
|
return false; |
931 |
} |
} |
932 |
|
|
933 |
/** |
/** |
938 |
public int hashCode() |
public int hashCode() |
939 |
{ |
{ |
940 |
long time = getTimeInMillis(); |
long time = getTimeInMillis(); |
941 |
return (int) ((time & 0xffffffffL) ^ (time >> 32)); |
int val = (int) ((time & 0xffffffffL) ^ (time >> 32)); |
942 |
|
val += (getFirstDayOfWeek() + (isLenient() ? 1230 : 1237) |
943 |
|
+ getMinimalDaysInFirstWeek()); |
944 |
|
TimeZone self = getTimeZone(); |
945 |
|
if (self != null) |
946 |
|
val ^= self.hashCode(); |
947 |
|
return val; |
948 |
} |
} |
949 |
|
|
950 |
/** |
/** |