FileDocCategorySizeDatePackage
CharSequences.javaAPI DocAndroid 1.5 API4179Wed May 06 22:41:56 BST 2009com.android.internal.util

CharSequences

public class CharSequences extends Object
{@link CharSequence} utility methods.

Fields Summary
Constructors Summary
Methods Summary
public static intcompareToIgnoreCase(java.lang.CharSequence me, java.lang.CharSequence another)
Compares two character sequences with API like {@link Comparable#compareTo}.

param
me The CharSequence that receives the compareTo call.
param
another The other CharSequence.
return
See {@link Comparable#compareTo}.

        // Code adapted from String#compareTo
        int myLen = me.length(), anotherLen = another.length();
        int myPos = 0, anotherPos = 0, result;
        int end = (myLen < anotherLen) ? myLen : anotherLen;

        while (myPos < end) {
            if ((result = Character.toLowerCase(me.charAt(myPos++))
                    - Character.toLowerCase(another.charAt(anotherPos++))) != 0) {
                return result;
            }
        }
        return myLen - anotherLen;
    
public static booleanequals(java.lang.CharSequence a, java.lang.CharSequence b)
Compares two character sequences for equality.

        if (a.length() != b.length()) {
            return false;
        }

        int length = a.length();
        for (int i = 0; i < length; i++) {
            if (a.charAt(i) != b.charAt(i)) {
                return false;
            }
        }
        return true;
    
public static java.lang.CharSequenceforAsciiBytes(byte[] bytes)
Adapts {@link CharSequence} to an array of ASCII (7-bits per character) bytes.

param
bytes ASCII bytes

        return new CharSequence() {
            public char charAt(int index) {
                return (char) bytes[index];
            }

            public int length() {
                return bytes.length;
            }

            public CharSequence subSequence(int start, int end) {
                return forAsciiBytes(bytes, start, end);
            }

            public String toString() {
                return new String(bytes);
            }
        };
    
public static java.lang.CharSequenceforAsciiBytes(byte[] bytes, int start, int end)
Adapts {@link CharSequence} to an array of ASCII (7-bits per character) bytes.

param
bytes ASCII bytes
param
start index, inclusive
param
end index, exclusive
throws
IndexOutOfBoundsException if start or end are negative, if end is greater than length(), or if start is greater than end

        validate(start, end, bytes.length);
        return new CharSequence() {
            public char charAt(int index) {
                return (char) bytes[index + start];
            }

            public int length() {
                return end - start;
            }

            public CharSequence subSequence(int newStart, int newEnd) {
                newStart -= start;
                newEnd -= start;
                validate(newStart, newEnd, length());
                return forAsciiBytes(bytes, newStart, newEnd);
            }

            public String toString() {
                return new String(bytes, start, length());
            }
        };
    
static voidvalidate(int start, int end, int length)

        if (start < 0) throw new IndexOutOfBoundsException();
        if (end < 0) throw new IndexOutOfBoundsException();
        if (end > length) throw new IndexOutOfBoundsException();
        if (start > end) throw new IndexOutOfBoundsException();