Added Comparators.COMPARABLE.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4937 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -36,17 +36,7 @@ public class ArrayUtil
|
|||||||
*/
|
*/
|
||||||
public static function sort (arr :Array) :void
|
public static function sort (arr :Array) :void
|
||||||
{
|
{
|
||||||
arr.sort(function (obj1 :Object, obj2 :Object) :int {
|
arr.sort(Comparators.COMPARABLE);
|
||||||
if (obj1 == obj2) { // same object or both null
|
|
||||||
return 0;
|
|
||||||
} else if (obj1 == null) {
|
|
||||||
return -1;
|
|
||||||
} else if (obj2 == null) {
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
return Comparable(obj1).compareTo(obj2);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
|
||||||
|
package com.threerings.util {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Contains sorting Comparators.
|
||||||
|
*/
|
||||||
|
public class Comparators
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* A standard Comparator for comparing Comparable values.
|
||||||
|
*/
|
||||||
|
public static function COMPARABLE (c1 :Comparable, c2 :Comparable) :int
|
||||||
|
{
|
||||||
|
if (c1 == c2) { // same object -or- both null
|
||||||
|
return 0;
|
||||||
|
} else if (c1 == null) {
|
||||||
|
return -1;
|
||||||
|
} else if (c2 == null) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return c1.compareTo(c2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user