cakoose.util.text
Class VersionComparator
java.lang.Object
cakoose.util.text.VersionComparator
public final class VersionComparator
- extends Object
Compares strings that contain embedded numbers (like version numbers).
Performs numeric comparisons on spans of digits and raw comparisons
on everything else.
Examples:
- "1.2" < "1.10.3"
- "page2" < "page10"
- "page" < "page0"
There are two comparison modes. In "loose" mode, leading zeros in
digit spans are ignored. In "strict" mode, leading zeros are
significant ("1" < "01").
Relationships:
- String.equals [equivalent] equalsStrict
- String.equals [implies] equalsLoose
- IF (compareLoose != 0) THEN compareLoose == compareStrict
The standard relationship between "compare" and "equals" equals holds.
These comparison functions are around 10-50 times slower than
String.compareTo(...).
|
Field Summary |
static Comparator<String> |
Loose
Use this when you need a java.util.Comparator that performs
loose version comparisons. |
static Comparator<String> |
Strict
Use this when you need a java.util.Comparator that performs
strict version comparisons. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Loose
public static final Comparator<String> Loose
- Use this when you need a java.util.Comparator that performs
loose version comparisons.
Strict
public static final Comparator<String> Strict
- Use this when you need a java.util.Comparator that performs
strict version comparisons.
equalsLoose
public static boolean equalsLoose(String a,
String b)
compareLoose
public static int compareLoose(String a,
String b)
equalsStrict
public static boolean equalsStrict(String a,
String b)
compareStrict
public static int compareStrict(String a,
String b)