in java/src/main/java/com/epam/deltix/containers/CharSequenceUtils.java [146:189]
public static int compare(
CharSequence s1,
CharSequence s2,
int maxLength,
boolean fast
) {
if (s1 == null)
if (s2 == null)
return (0);
else
return (-1);
else if (s2 == null)
return (1);
else if (s1 == s2)
return (0);
else {
int len1 = s1.length();
int len2 = s2.length();
if (maxLength > 0) {
if (maxLength < len1)
len1 = maxLength;
if (maxLength < len2)
len2 = maxLength;
}
int diff = len1 - len2;
if (fast && diff != 0)
return (diff);
int minLength = diff > 0 ? len2 : len1;
for (int ii = 0; ii < minLength; ii++) {
int cdiff = s1.charAt(ii) - s2.charAt(ii);
if (cdiff != 0)
return (cdiff);
}
return (diff);
}
}