public static int compare()

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);
        }
    }