diff --git a/src/java/com/samskivert/util/ComparableArrayList.java b/src/java/com/samskivert/util/ComparableArrayList.java index c266b10c..f5f91670 100644 --- a/src/java/com/samskivert/util/ComparableArrayList.java +++ b/src/java/com/samskivert/util/ComparableArrayList.java @@ -50,7 +50,11 @@ public class ComparableArrayList> */ public void rsort () { - sort(java.util.Collections.reverseOrder(_comp)); + sort(new Comparator() { + public int compare (T o1, T o2) { + return _comp.compare(o2, o1); + } + }); } /** diff --git a/src/java/com/samskivert/util/ObserverList.java b/src/java/com/samskivert/util/ObserverList.java index 69e94d88..6736271d 100644 --- a/src/java/com/samskivert/util/ObserverList.java +++ b/src/java/com/samskivert/util/ObserverList.java @@ -137,7 +137,7 @@ public class ObserverList extends ArrayList } // documentation inherited - public void add (int index, Object element) + public void add (int index, T element) { throw new UnsupportedOperationException(UNSUPPORTED_ADD_MESSAGE); } diff --git a/src/java/com/samskivert/util/QuickSort.java b/src/java/com/samskivert/util/QuickSort.java index 1e9d36cb..40a1da01 100644 --- a/src/java/com/samskivert/util/QuickSort.java +++ b/src/java/com/samskivert/util/QuickSort.java @@ -385,9 +385,13 @@ public class QuickSort * Sort the elements in the specified ArrayList according to the * reverse ordering imposed by the specified Comparator. */ - public static void rsort (ArrayList a, Comparator comp) + public static void rsort (ArrayList a, final Comparator comp) { - sort(a, java.util.Collections.reverseOrder(comp)); + sort(a, new Comparator() { + public int compare (T o1, T o2) { + return comp.compare(o2, o1); + } + }); } /**