test/sun/util/calendar/zi/Rule.java
Print this page
@@ -104,10 +104,11 @@
}
final int y = year;
RuleRec[] recs = new RuleRec[rules.size()];
rules.toArray(recs);
+
Arrays.sort(recs, new Comparator<RuleRec>() {
public int compare(RuleRec r1, RuleRec r2) {
int n = r1.getMonthNum() - r2.getMonthNum();
if (n != 0) {
return n;
@@ -115,11 +116,11 @@
// TODO: it's not accurate to ignore time types (STD, WALL, UTC)
long t1 = Time.getLocalTime(y, r1.getMonth(),
r1.getDay(), r1.getTime().getTime());
long t2 = Time.getLocalTime(y, r2.getMonth(),
r2.getDay(), r2.getTime().getTime());
- return (int)(t1 - t2);
+ return Long.compare(t1, t2);
}
public boolean equals(Object o) {
return this == o;
}
});